0

2 つの配列を使用して文字「S」を描画しています。最初の配列は # で埋められます (文字が入る場所にはスペースが入ります)。2 番目の配列は、各スペースの位置です。

コードは問題ないように見えますが、見慣れないランタイム エラーが発生します: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 178 at 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]);
        }
   }
}

編集:どうもありがとう、みんな。ばかげた間違い!乾杯!

4

3 に答える 3

0

178 の IndexNumber がありますが、「配列」は 149 しかありません...

于 2013-04-22T16:37:04.720 に答える
0

配列の 178 を 148 に変更してください ;-)

于 2013-04-22T16:34:34.020 に答える