在这种情况下,如何将我的 maxDiff 值添加到我的 ArrayList 中?

所以在我的 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;

}

}


心有法竹
浏览 119回答 1
1回答

holdtom

您在操作后实例化一个列表。这一行:købtAktie&nbsp;=&nbsp;new&nbsp;ArrayList<>();应该在此之前调用:findProfit(aktiePris);请注意,我没有使用任何返回值 - 该方法可以void在全局变量上运行(这不是很好但有效)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java