所以在我的 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
提交
取消
