Проблема расчета среднего изменения массива в Java

DeadHead710 спросил: 07 октября 2018 в 12:23 в: java

Итак, мне нужно написать код, который позволит пользователю рассчитывать среднее изменение пробега от недели к неделе, в течение которого он работает, но у меня возникают некоторые проблемы, и он надеется получить небольшое руководство. Программа в основном позволяет пользователю вводить, сколько недель данных у него есть, а также все соответствующие значения для миль пробега и сохраняет значения в массиве. Я думаю, что я действительно близок, но по какой-то причине, когда я пытаюсь вычислить сумму разностей для всех значений в массиве, он хранит только разницу между первыми двумя значениями в массиве, а не остальные, поэтому дает мне неправильный результат. В частности, в этой части кода у меня возникают проблемы:

sumOfDifferences += (y[i+1] - y[i]); 
average = (sumOfDifferences) / (weeksData - 1);

Вот что у меня есть. Я ценю любую помощь, которую могу получить

import java.util.Scanner;public class RunAnalyzer
{
    public static void main(String[]args)
    {
        Scanner input = new Scanner(System.in);        System.out.print("\n How many weeks of data do you have? ");            int weeksData = input.nextInt();                double [] y = new double [weeksData];       double average = 0;     double sumOfDifferences = 0;    
        for (int i = 0; i < y.length; i++) 
        {            System.out.print("\nEnter miles run for week " + (i + 1) + ": ");                y[i] = input.nextDouble();        }            for  (int i = 0; i < y.length; i++)
            {
                sumOfDifferences += (y[i+1] - y[i]); 
                average = (sumOfDifferences) / (weeksData - 1);                if (y[i+1] <= y[i])
                {
                    System.out.print("\n You're weekly mileage is NOT increasing!");                    break;
                }                else
                {
                    System.out.println("Your weekly mileage is increasing!");                    break;
                }             }            System.out.print("\nAverage weekly mileage change: " + average);    }}

0 ответов