初学者Java - 循环遍历数组

时间:2015-01-22 03:41:07

标签: java

所以这个类应该打印出在main方法(又名22)下定义的数组中的最大数字,但是当我运行它时没有任何反应。我确定这是一个非常愚蠢的问题,但今天是我使用java的第一天,我已经花了一大笔时间试图解决这个问题。谢谢!

  public class fun {
        public static void main (String [] args) {
        int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
        max(numbers);
        }

        public static int max(int[] m) {
            int length = m.length;
            int counter = 1;
            int currMax = m[0];
            while (counter <= (length - 2)){
                if (m[counter] > currMax){
                currMax = m[counter];
                }
                counter = counter + 1;
            }
            return currMax;
        }
    }

5 个答案:

答案 0 :(得分:3)

您的max方法确实返回了最大数字,但您没有对该数字做任何事情。

也许您希望打印出最大值?

System.out.println(max(numbers));

答案 1 :(得分:1)

在main方法中,从一个变量中获取max方法的返回值,然后将其打印出来

 public static void main (String [] args) {
    int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
   int val = max(numbers);
   System.out.println(val);
    }

...宾果

答案 2 :(得分:0)

您必须打印出

中的数字
System.out.println(max(numbers));

或者你可以将它分配给一个int变量,然后用它做一些事情:

int maxNumber = max(numbers);

答案 3 :(得分:0)

  public class fun {
        public static void main (String [] args) {
        int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
        int maxNum = max(numbers); //change this
System.out.println(maxNum);
        }

        public static int max(int[] m) {
            int length = m.length;
            int counter = 1;
            int currMax = m[0];
            while (counter <= (length - 1)){ //change this
                if (m[counter] > currMax){
                currMax = m[counter];
                }
                counter = counter + 1;
            }
            return currMax;
        }
    }

答案 4 :(得分:0)

如果您想通过整个数组,iterration本身可以正常工作。您缺少数组的最后一个索引。所以它不再将Array [on_last_index]与currentMax值进行比较。

要解决这个简单问题,您需要做的就是更改while循环中的条件。

while(counter <= length-1) { ... }

所以让我试着向你解释一下。如果在其中创建一个follow元素数组:

numbers = new int[]{9, 2, 15, 2, 22, 10, 6};

然后数组中的每个值都获得了它自己的索引。例如,如果你想获得数组的第一个元素,那么你所要做的就是在索引0 0上获取数组的元素,因为它是你想要选择的第一个元素=&gt; index 0是数组中第一个元素的第一个索引。现在在你的例子中你得到一个大小为7 =&gt;的数组。你的数组中有7个元素。但是请记住如何获取阵列的元素?对!你可以通过他们的indizes获得元素。第一个元素得到索引0,secound 1,...,最后6. 6因为我们从0开始,所以如果你想要iterrate抛出一个数组,那么总是从0到array.length-1。