【发布时间】:2026-01-23 04:45:02
【问题描述】:
我正在尝试打印用户输入的号码,但出现错误。这是我的代码:
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int size=0,score=0;
int [] a=new int[size];
int len=a.length;
do
{
System.out.print("Please enter a number between 1 to 5: ");
size=input.nextInt();
}
while ((size<1) || (size>5));
for (int i=1;i<=size;i++)
{
do
{
System.out.print("Enter your "+i+" score (1-100):");
score=input.nextInt();
}
while((score<1) || (score>100));
}
for (int i=1;i<=size;i++)
System.out.println(a[i]+ " ");
}
}
这是我的输出和错误: 请输入一个介于 1 到 5 之间的数字:2 输入您的 1 分 (1-100):54 输入你的 2 分数 (1-100):64 线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:1 在 Week08.BigArray2.main(BigArray2.java:27)
【问题讨论】:
-
您的 for 循环格式错误。 Java中的数组从0开始,以长度1结束,将for循环更改为“for(int i = 0; i
-
当你创建
a数组时,size为 0,所以数组总是 0 个条目大。因此,当您尝试将某些内容保存到数组中时,它会崩溃。阅读大小后将a = new int[size]移至一行。 -
我现在明白这个问题了。谢谢大家。