Как мне добавить значение maxDiff в мой ArrayList в этом сценарии? - PullRequest
0 голосов
/ 09 марта 2019

Так что в моем findProfit () у меня есть оператор if: if (priceDiff> maxDiff). Если этот критерий удовлетворен, я хочу, чтобы он установил maxDiff = priceDiff, который работает как должен, но затем я хочу, чтобы он также взял это новое значение maxDiff и сохранил его в моем købtAktie ArrayList. Это, я не могу приступить к работе, мой arraylist просто продолжает возвращаться "ноль". Может кто-нибудь помочь?

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 Ответ

0 голосов
/ 09 марта 2019

Вы создаете экземпляр списка после манипуляций.Эта строка:

købtAktie = new ArrayList<>();

должна быть вызвана перед этой:

findProfit(aktiePris);

Обратите внимание, что я не использую никакого возвращаемого значения - метод может быть void, так как он работает на глобальномпеременная (что не очень хорошо, но работает).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...