我是JAVA的新手和初学者。 我刚刚开始学习扫描仪和数组!
我想从Scanner获得一些输入。并将其保存到Array中。 数组大小为5,我成功保存 但是我可以打印的只是数组中的一个值。 我想打印数组中的所有值 我不知道我应该做什么或者我应该在哪里修理! 希望你们能告诉我这件事。
我的代码在下方。
import java.util.Scanner;
import jdk.internal.util.xml.impl.Input;
public class Test2 {
public static void main(String[] args) {
int[] array = new int[5];
Scanner scanner = new Scanner(System.in);
System.out.print("five numbers");
for (int i = 0; i <= array.length; i++) {
array[i] = scanner.nextInt();
}
for (int nums : array) {
System.out.print(nums);
}
}
}
五个数字1 2 3 5 5
答案 0 :(得分:0)
问题在于以下迭代,期望6个数字(因为i
从0开始,到5结束)。
这不起作用:
for (int i = 0; i <= array.length; i++)
这将有效
您应该输入6个数字并将数组大小更改为6个元素。无论哪种方式,您都需要将for循环更改为:
for (int i = 0; i < array.length; i++)
答案 1 :(得分:0)
变化
for (int i = 0; i <= array.length; i++)'$'
到
for (int i = 0; i < array.length; i++)'$'
你希望它循环5次。
答案 2 :(得分:0)
您的问题是您定义了一个大小为5的数组:
int[] array = new int[5];
但您希望获得6个输入数字,因为for-loop
因<=
而设置为循环6次:
for (int i = 0; i <= array.length; i++) {
array[i] = scanner.nextInt();
}
此解决方案是将条件更改为i < array.length
说明:
根据定义:
数组大小为5
array.length
= 5
:array[i] = scanner.nextInt()
,当i = array.length
即i=5
时,array[i]
超出范围。
答案 3 :(得分:-1)
你可以使用
System.out.print(Arrays.toString(array));
答案 4 :(得分:-1)
我觉得你不需要使用
import jdk.internal.util.xml.impl.Input;
包文件。 并更改循环语句
for (int i = 0; i <= array.length; i++)
到
for (int i = 0; i < array.length; i++)
否则当您输入第6个输入时会出现错误:
java.lang.ArrayIndexOutOfBoundsException