public class AccumulatedData {
public static void main(String args[]) {
ArrayList<Double> weights = new ArrayList<Double>();
weights.add(145.0);
weights.add(146.5);
weights.add(146.5);
weights.add(147.0);
weights.add(146.0);
weights.add(148.0);
weights.add(148.5);
ArrayList<Double> printWeightChanges = getWeightChanges(weights);
System.out.println(weights);
}
public static ArrayList<Double> getWeightChanges(ArrayList<Double> weights) {
for (int i = 0; i < weights.size() - 1; i++) {
weights.set(i, (weights.get(i + 1) - weights.get(i)));
}
return weights;
}
}
Я попытался описать выше все элементы списка массивов и распечатать их соответствующие последовательные различия (принимая первый индекс списка массивов и вычесть нулевой индекс), однако цикл my for, кажется, проходит все элементы, печатающие их соответствующие различия но затем добавляет последний номер моего исходного массива в конец моего нового списка массивов со всеми отличиями. Как мне это исправить?
Убличный класс PartA {
public static void main(String args[]) {
ArrayList<Double> weights = new ArrayList<Double>();
weights.add(145.0);
weights.add(146.5);
weights.add(146.5);
weights.add(147.0);
weights.add(146.0);
weights.add(148.0);
weights.add(148.5);
ArrayList<Double> printWeightChanges = getWeightChanges(weights);
НОВАЯ ПОПЫТКА:
}
/**
* Part a
*/
public static ArrayList<Double> getWeightChanges(ArrayList<Double> weights) {
ArrayList<Double> weightDifferences = new ArrayList <Double>();
for (int i = 0; i < weights.size() - 1; i++) {
weightDifferences.add(i, weights.get(i + 1) - weights.get(i));
}
System.out.println(weightDifferences);
return weightDifferences;
}
}
Это генерирует всевозможные ошибки:
Исключение в потоке "main" java.lang.IndexOutOfBoundsException: индекс 145 выходит за пределы длины 6
в java.base / jdk.internal.util.Preconditions.outOfBounds (Preconditions.java:64)
в java.base / jdk.internal.util.Preconditions.outOfBoundsCheckIndex (Preconditions.java:70)
в java.base / jdk.internal.util.Preconditions.checkIndex (Preconditions.java:248)
в java.base / java.util.Objects.checkIndex (Objects.java:372)
в java.base / java.util.ArrayList.get (ArrayList.java:458)
на PartB.getWeights (PartB.java:37)
в PartB.main (PartB.java:25)
Моя попытка
Вывод кода из моей попытки