在数组中查找最小值/最大值-逐步执行循环

时间:2018-12-14 14:48:28

标签: arrays loops compare max min

我找到了很多解决方案,如何找到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 :(得分:0)

您的代码非常无效,应该看起来像这样:

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