所以在我的 findProfit() 中,我有一个 if 语句:if (priceDiff > maxDiff)。如果满足该标准,我希望它设置 maxDiff = priceDiff,它应该可以正常工作,但是我希望它也采用新的 maxDiff 值并将其存储在我的 købtAktie ArrayList 中。那,我无法开始工作,我的数组列表只是不断返回“null”。有人可以帮忙吗?public class ProfitCalculator {static int minValue, maxValue, maxDiff;static Calendar timeMin, timeMax;static int indeksMinMinut, indeksMaxMinut;static ArrayList<Integer> købtAktie;public static void main(String args[]) { int aktiePris[] = new int[]{10, 7, 5, 8, 11, 9}; ArrayList<Integer> profit = findProfit(aktiePris); købtAktie = new ArrayList<>(); System.out.println("profit: " + købtAktie);}public static ArrayList<Integer> findProfit(int[] inputArray) { /*if (inputArray.length < 1) { return 0; }*/ maxDiff = 0; minValue = inputArray[0]; maxValue = minValue; for (int i = 1; i < inputArray.length; i++) { if (inputArray[i] > maxValue) { maxValue = inputArray[i]; indeksMaxMinut = i; int priceDiff = maxValue - minValue; if (priceDiff > maxDiff) { maxDiff = priceDiff; købtAktie.add(maxDiff); } } else if (inputArray[i] < minValue) { minValue = maxValue = inputArray[i]; indeksMinMinut = i; } } return købtAktie;}}
1 回答
holdtom
TA贡献1805条经验 获得超10个赞
您在操作后实例化一个列表。这一行:
købtAktie = new ArrayList<>();
应该在此之前调用:
findProfit(aktiePris);
请注意,我没有使用任何返回值 - 该方法可以void在全局变量上运行(这不是很好但有效)。
添加回答
举报
0/150
提交
取消
