我不完全确定我做了什么,但我的目标是接受用户的10个号码并将它们存储到一个数组中。然后我可以按顺序打印出来。我相信我已经完成了,除了第一个值在输出中默认为零,我不知道如何解决这个问题。有什么帮助吗?
{{skygear.currentUser.id}}
答案 0 :(得分:2)
您的数组的大小应该设置为10
(并且您的循环测试也应该是10
,或者更好 - 使用数组length
)。你应该使用大括号,它有助于防止细微的错误。我认为没有理由丢弃第一个int
。把它们放在一起就像,
int[] a = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("Please enter ten numbers: ");
for (int j = 0; j < a.length; j++) {
a[j] = input.nextInt();
}
System.out.println("Your number list is: ");
System.out.println(Arrays.toString(a));
答案 1 :(得分:2)
您已定义了9
元素数组,而不是10
。
改变这个:
int[] a = new int[9];
到此:
int[] a = new int[10];
另外,改变一下:
for(int j = 0; j < 9; j++)
到此:
for(int j = 0; j < a.length; j++)
最后但并非最不重要的是,这两个陈述不应该在循环内:
System.out.println("Your number list is: ");
System.out.println(Arrays.toString(a));
将它们放在循环之外。
for (int j = 0; j < a.length; j++) {
a[j] = input.nextInt();
}
System.out.println("Your number list is:");
System.out.println(Arrays.toString(a));