“线程中的异常”主“java.lang.ArrayIndexOutOfBoundsException:178”错误,不知道为什么

时间:2013-04-22 16:30:39

标签: java arrays runtime-error

我正在使用两个数组绘制字母'S'。第一个数组用#填充(并且字母将在任何地方,将有一个空格)。第二个数组是每个空间的位置。

代码看起来很好,但是我得到一个不熟悉的运行时错误:线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:178在Letter.main(Letter.java:20)。这是我的代码/关于为什么这不工作的任何输入将非常感激。

public class Letter {
   public static void main (String [] args) {
   char [] array = new char [150];
       for (int index = 0; index < array.length; index ++) 
        {
          array [index] = '#';
        }
    int [] indexNumbers = {0,1,2,3,4,5,6,7,8,9,10,20,30,40,50,
    60,70,71,72,73,74,75,76,77,78,79,89,99,109,119,129,139,140,
    141,142,143,144,145,146,147,178,149};
       for (int i = 0; i < indexNumbers.length; i++) 
        {
           array [indexNumbers[i]] = ' ';
        }
        for (int index = 0; index < array.length; index ++)
       {
           if (index % 10 == 0 && index > 0) 
             System.out.println();
          System.out.print (array[index]);
        }
   }
}
编辑:非常感谢大家。多么荒谬的错误!干杯!

3 个答案:

答案 0 :(得分:1)

int [] indexNumbers中有拼写错误。

178 148

你得到的例外是非常非常提供信息:

  

java.lang.ArrayIndexOutOfBoundsException: 178

如果您仍然无法理解它,使用调试器将对您有所帮助。

答案 1 :(得分:0)

在数组中将178更改为148; - )

答案 2 :(得分:0)

你有一个178的IndexNumber,但你的“数组”只有149 ...