class ArrayPrint {
static void arrayPrinter(int[] x) {
for (int i = 0; i < x.length; i++) {
System.out.println(x[i]);
}
}
public static void main(String... S) {
int[] x = {3, 3, 4, 2, 7};
x = new int[5];
arrayPrinter(x);
System.out.println(x.length);
}
}
预期的数组不打印,而是打印0 0 0 0 0
。可能是什么错误?
答案 0 :(得分:4)
int[] x = {3,3,4,2,7};
x = new int[5]; // re-initializing
您正在重新初始化阵列。默认情况下,新数组中的元素值都将为0。
只需删除
即可x = new int[5];
这种表示法
int[] x = {3,3,4,2,7};
创建一个大小为5的int数组,其中包含您指定的元素值。
答案 1 :(得分:1)
x = new int[5];
将数组重新初始化为全零。删除该行。
答案 2 :(得分:1)
使用语句
重新初始化x
数组
x = new int[5];
默认情况下,数组的值将为0.这就是获得输出的原因。 所以删除它
public static void main(String...S) {
int[] x = {3,3,4,2,7};
arrayPrinter(x);
System.out.println(x.length);
}
答案 3 :(得分:1)
好吧,您正在将数组重新初始化为0,0,0,0。
当你写int [] x = {3,3,4,2,7};它用你想要的值初始化数组,但在下一行你用“new”int [5]覆盖它,因此五个0
答案 4 :(得分:1)
您正在重新初始化阵列,您应该使用
int[]x = new int[5];
x[0] = 3;
x[1] = 3;
// and the rest of your array
OR
int[]x = {3,3,...};
然后你可以打印你的数组,
尝试
import java.util.*;
// ... some code
System.out.println(Arrays.toString(x));