我想輸出用戶輸入的號碼,但我得到一個錯誤。這裏是我的代碼:列印陣列用戶輸入
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開始並以length-1結尾,將for循環更改爲「for(int i = 0; i
當您創建'a'數組時,'size'爲0,so該數組總是0個條目大。因此,當您嘗試將某些內容保存到數組中時,它會崩潰。在讀取大小後,將'a = new int [size]'移動到一行。 – Robert
我現在明白這個問題。謝謝大家。 –