ユーザが入力した番号をプリントアウトしようとしていますが、エラーが発生しました。アレイユーザをプリントアウト
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までの数字を入力してください:あなたの1つのスコアを入力します2 (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]'を行に移動してください。 – Robert
私は今問題を理解しています。みんなありがとう。 –