Поиск разницы чисел в цикле for

Я новичок в java и задавался вопросом, как найти максимальную разницу между числами, введенными в цикл for. Моя программа берет x показаний одометра (между последовательными поездками) от автомобиля, например, 100 км, 150 км, 400 км, и должна брать максимальное пройденное расстояние для всех поездок, которое в этом примере будет 250 км, а также минимальное что составляет 50 км и среднее расстояние, пройденное между каждым показанием одометра.

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

System.out.print("Input number of trips: ");    
carSample.numberOfTrips = input.nextInt();


    int maximum = Integer.MIN_VALUE;
    int minimum = Integer.MAX_VALUE;
    int total = 0;

for (int i = 0; i < carSample.numberOfTrips; i++) {
    System.out.print("Odometer reading " + (i + 1) + ": ");
    int odometerReading = input.nextInt();
    total += odometerReading;
    if (odometerReading > maximum){
        maximum = odometerReading;
        }
    if (odometerReading < minimum){
        minimum = odometerReading;  
    }

2 ответа

Решение
int previous = 0;
int minimumTrip = Integer.MAX_VALUE;
int maximumTrip = Integer.MIN_VALUE;

for (int i = 0; i < carSample.numberOfTrips; i++) {
    System.out.print("Odometer reading " + (i + 1) + ": ");
    int odometerReading = input.nextInt();
    int currentTrip = odometerReading - previous;
    if (currentTrip > maximumTrip){
        maximumTrip = currentTrip;
        }
    if (currentTrip < minimumTrip){
        minimumTrip = currentTrip;  
    }
    previous = odometerReading;
}

Если показание начинается не с 0, считайте предыдущее = первое показание одометра.

Если вы хотите вычислить максимальное и минимальное значения каждого пробега, начальные значения обоих равны 0, а максимальное и минимальное значения обновляются каждый раз, когда считывается значение пробега, и все значения пробега можно получить с помощью цикла.

Если вы хотите рассчитать среднее значение всех значений пробега, сложите все значения, разделенные на количество значений. Например, av = (a + b + c) / 3

Другие вопросы по тегам