2017-05-25 21 views
-1

私はConnect 4ゲームを作成するプロセスで自分のコードの単純な部分を書き込もうとしています。私は最終的にドロップできる場所など6 7によってボードを作成して表示しようとしているXさんとOさん:Javaエラー:スレッド "main"の例外java.lang.ArrayIndexOutOfBoundsException:6

|||||||| 
|||||||| 
|||||||| 
|||||||| 
|||||||| 
|||||||| 

私はエラーを取得しておいてください。例外をスレッドで「メイン」java.lang.ArrayIndexOutOfBoundsException:6

public static void printConnect4Board(){ 
final int WIDTH = 6; 
final int HEIGHT = 7; 
int [] [] connect4Board = new int [WIDTH][HEIGHT]; 
Scanner input = new Scanner(System.in); 
for(int w = 0; w < connect4Board.length; w++){ 
    for(int h = 0; h < connect4Board[w].length; h++){ 
     System.out.println(connect4Board[w][h] + "|"); 
    } 
    System.out.println(); 
} 

}

任意の助けが理解されるであろう。ありがとう。 printlnから印刷まで

+0

は、最後から2番目の行に 'connect4Board [H] [W]'であるべき。 –

答えて

1

スワップあなたのインデックスと変更を:

public static void printConnect4Board(){ 
    final int WIDTH = 6; 
    final int HEIGHT = 7; 
    int [] [] connect4Board = new int [WIDTH][HEIGHT]; 
    Scanner input = new Scanner(System.in); 
    for(int h = 0; h < HEIGHT; h++){ 
     System.out.print("|"); 
     for(int w = 0; w < WIDTH; w++){ 
      System.out.print("|"); 
     } 
     System.out.println(); 
    } 
} 
+0

もう一度見てください。これは例外をスローしません – nge

+0

出力は次のとおりです:0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | – user7729282

+0

これは元のコードがHxW(7x6)を印刷していましたが、OPがWxH(6x7)を望んでいたと思います。 – nge

関連する問題