Как сложить значения в массив, используя цикл for? - PullRequest
0 голосов
/ 17 октября 2019

Цель этого метода - найти среднюю скорость во время езды на велосипеде. У меня уже есть метод speeds(), который возвращает средние значения между точками GPS, хранящиеся в двойном массиве. Я попытался использовать цикл for и присваивание и присваивание, чтобы сложить значения и сохранить их в двойной переменной totalOfSpeeds. По какой-то причине значения не складываются, а значение totalOfSpeeds меняется для каждого "раунда" цикла for, как если бы я использовал обычное присваивание =. Любая помощь будет оценена.

double averageSpeed() {

double average = 0;

double [] avgSpeedsCopy = Arrays.copyOf(speeds(), speeds().length);

double totalOfSpeeds  = 0;

for(int i = 0; i < speeds().length; i++) {

    totalOfSpeeds =+ avgSpeedsCopy[i];


}

average = totalOfSpeeds/speeds().length;

return average;
}

Ответы [ 2 ]

2 голосов
/ 17 октября 2019

Ваше решение для цикла выглядит хорошо, как только вы исправите опечатку, указанную QBrute. Вы также можете сделать это одной строкой, используя потоки.

DoubleStream.of(arr).average().getAsDouble()
0 голосов
/ 17 октября 2019

i + = 4;означает

i = i + 4;// увеличиваем i на 4. Пока

i = + 4;эквивалентно

i = +4;// присваиваем 4 i. унарный плюс фактически не используется.

Пожалуйста, измените '= +' на '+ ='.

...