我试图找到数字= [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);
}
答案 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”