需要帮助在java中查找数组中的最大值

时间:2012-10-24 03:40:17

标签: java arrays methods max

我试图找到数字= [10]的数组的最大整数。我的方法打印出0,而不是最大整数。

public static void maxArr (int[] number){ 
        int max = number[0];
        for(int i = 1; i<number.length; i++){
            if(number[i]> max){
                max = number[i];
            }
        } System.out.print(max);
    }

5 个答案:

答案 0 :(得分:2)

您没有正确填充阵列。

在java中,当你第一次使用private int[] myArray创建一个数组时,它是null(也就是说,它不代表实际的东西,它只是可以指向的名称到未来的数组)。接下来,你以某种方式告诉它将保留多少元素。有两种常用的方法可以做到这一点:

第一个看起来像myArray = new int[42];这将初始化数组,但每个插槽都将为零(或者更糟糕的是,如果它是一个对象数组,则为null)。您可以使用myArray[3] = 13填充其中一个插槽(在本例中为第4个插槽)。这将把int 13存储在myArray的插槽3中。数组插槽从0开始计数,因此如果您想要调用myArray[0]的第一个元素,如果您想要第二个元素,则调用myArray[1],依此类推。您可以使用for循环使用几行代码填充整个数组:

for (int i = 0; i < myArray.length; i++) {
    myArray[i] = 10;
}

现在你的阵列已经准备好用于生活中的任何目的。

初始化时会出现填充数组的第二种方法。它看起来像myArray = new int[] {10, 42, 24, 64, 8, 16, 3};你在大括号中放入的任何东西现在都在数组中,所以myArray[0]的值现在是10,而myArray[1]的值现在是42,依此类推

答案 1 :(得分:1)

使用您的方法时出错。否则它看起来很好。

int[] array = new int[1]
array[0] = 10
maxArr(array)

是您尝试做的,它将打印10。

答案 2 :(得分:1)

int[] array = new int [N];

array的所有元素初始化为默认值int,即0。

所以,你最多得到0

答案 3 :(得分:0)

这会将所有元素初始化为0。

int N = 10;
int[] array = new int[N]
maxArray(array)

如果你想用10初始化它,你应该

int[] array= {10};
maxArray(array) //This should print 10

答案 4 :(得分:0)

尝试一下

的内容
int[] array = new int[]{10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
maxArray(array);

现在应该打印“10”