サイズが 10X10 の 2D アレイ ボードにシュートとはしごを生成するプログラムを作成しようとしています。これらのシュートとはしごを生成するために、readBoard
基本的に書き込まれたファイル (myBoard.csv) を読み取り、書き込まれた情報を位置に変換し、それに応じてシュートとはしごを 2D アレイ ボードに配置するというメソッドを作成する必要がありました。
プログラムはコンパイルされますが、実行すると次のエラーが発生します。
java.lang.ArrayIndexOutOfBoundsException: 1
at ChutesAndLadders.readBoard(ChutesAndLadders.java:41)
at TestFile.main(TestFile.java:13)
私の印象では、おそらく私の書いたファイルには、私が認識していない追加のスペースがあったので、範囲外だと言っているのです。しかし、書き込んだファイルを確認したところ問題ないようです。この問題について何らかの洞察を提供できれば、それは素晴らしいことです。前もって感謝します!
これが私のgetBoard
方法です:
public void readBoard(String filename)throws Exception
{
Scanner s=new Scanner(new File(filename));
s.nextInt();
while (s.hasNext())
{
String line=s.nextLine();
String[]singleSplit=line.split(",");
String cellType=singleSplit[0];
int row=Integer.parseInt(singleSplit[1]);
int col=Integer.parseInt(singleSplit[2]);
if (cellType.equals("Chute"))
board[row][col]=new Chute();
else
board[row][col]=new Ladder();
}
}
そして、ここに私の書いたファイル(タイプ、行、列)があります:
29
シュート、1、0
シュート、2、0
シュート、3、0
シュート、4、0
シュート、5、0
シュート、6、0
シュート、7、0
シュート、8、0
シュート、9、0
シュート,0,1
シュート、0、2
シュート、0、3
シュート、9、1
シュート、9、2
シュート、9、3
はしご,0,5
はしご,1,5
はしご,2,5
はしご,3,5
はしご,4,5
はしご,5,5
はしご,6,5
はしご,7,5
はしご、8,5
はしご,9,5
はしご、9,6
はしご、9,7
はしご、9,8
はしご、9,9