-1
public class Repetition {
  public static void main (String[]a){
    int[] x;
    x = new int[10];
    int i;
    int n=0;
      for (i=0;i<x.length;i++){
        n++;
        x[i]=n;
        System.out.print(x[i] + " ");
      }
    i=0;
    while (x[i]<x[10]){
      System.out.println(x[i]);
      i++;
   }
}

プログラムを実行すると、次のエラーが表示されます。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at Repetition.main(Repetition.java:14)
1 2 3 4 5 6 7 8 9 10 Java Result: 1

実際、私はまだこの言語の初心者です。10の配列に値を割り当てて表示し、最初の配列から再び表示するプログラムを作成しようとしています。

出力を次のようにします。

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10
4

1 に答える 1

6

ArrayIndexOutOfBoundsException配列にインデックスを使用しようとしたが、そのインデックスが存在しないことを意味します。たとえば、配列の最後の有効なインデックスが9で、10を使用すると、このエラーが発生します。

このコード行が問題です(エラーメッセージに行番号が表示されます)。

while (x[i]<x[10]){

xは長さ10の配列です。これは、0(ゼロ)から9までのインデックスがあることを意味しx[10]ます。存在しないため、エラーが発生します。

于 2012-07-01T03:36:15.993 に答える