Нахождение мин / макс в массиве - пошаговое выполнение цикла - PullRequest
0 голосов
/ 14 декабря 2018

Я нашел много решений, как найти минимум или максимум массива int.Но я не совсем уверен, как это работает, поэтому я надеюсь, что кто-нибудь сможет объяснить мне, как пройти через цикл.У меня есть основной класс с 3 автомобилями и объемом их цилиндров.Таким образом, я нашел этот пример для цикла, чтобы узнать, какая машина имеет самый высокий cc.

int[] ccArr = {Car1.Engine, Car2.Engine, Car3.Engine};
int max = 100000;
        for (int i=0; i < ccArr.length; i++){
            for (int j = 1; j < ccArr.length; j++)
                if(ccArr[i] < ccArr [j])
                    max = ccArr[j];

Так как же это работает?Я просто не могу понять, что именно делают эти петли.Ваша помощь очень ценится и спасибо заранее!

Привет

1 Ответ

0 голосов
/ 14 декабря 2018

Ваш код неверен, он должен выглядеть следующим образом:

int[] ccArr = {Car1.Engine, Car2.Engine, Car3.Engine};
int max = ccArr[0];           //there exists at least 1 max value in array

//For every element in array (besides 1st, no need to compare it to max, as max = ccArr[0]) do:
    for (int i=1; i < ccArr.length; i++){
        if(ccArr[i] > max)  //If element's value is greater than max
            max=ccArr[i]    //Then set max's value to element's value
...