-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 回答