我正在使用两个数组绘制字母'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]);
}
}
}
编辑:非常感谢大家。多么荒谬的错误!干杯!
答案 0 :(得分:1)
int [] indexNumbers
中有拼写错误。
178 应 148 。
你得到的例外是非常非常提供信息:
java.lang.ArrayIndexOutOfBoundsException: 178
如果您仍然无法理解它,使用调试器将对您有所帮助。
答案 1 :(得分:0)
在数组中将178更改为148; - )
答案 2 :(得分:0)
你有一个178的IndexNumber,但你的“数组”只有149 ...