Поиск разностей чисел в цикле for - PullRequest
0 голосов
/ 09 апреля 2020

Я новичок в java, и мне было интересно узнать, как найти максимальную разницу между числами, введенными в для l oop. Моя программа берет х количество показаний одометра (между последовательными поездками) с автомобиля, например, 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 ]

1 голос
/ 09 апреля 2020
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 голосов
/ 09 апреля 2020

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

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

...