Поиск разницы чисел в цикле 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