テキストファイルからグリッドを読み込んで、グラフを作成しようとしています。
目標ノードはaで示され、X
他のノードは。で示されます.
。
行数と列数もあります。したがって、基本的には、各行の次の行を読み、列の場所のイテレータを渡して各列の場所の文字を取得し、それをX
ゴールノードとしてマークする必要があるかどうかを確認しようとしています。
goalGraph = new int[rows][cols];
for (int i = 0; i < rows; i++) {
String readLine = in.nextLine();
System.out.println(readLine);
for (int ii = 0; ii < cols; ii++) {
char c = readLine.charAt(ii);
if (c == 'x') {
goalGraph[i][ii] = 1;
}
else {
goalGraph[i][ii] = 0;
System.out.print(".");
}
}
}
しかし、でarrayoutofbounds
エラーが発生し続けますindex (0)
。
もう1つの奇妙なことはreadLine
、下位のコードが実装されているときは印刷されないが、次のように表示されることです。
goalGraph = new int[rows][cols];
for (int i = 0; i < rows; i++) {
String readLine = in.nextLine();
System.out.println(readLine);
/**
for (int ii = 0; ii < cols; ii++) {
char c = readLine.charAt(ii);
if (c == 'x') {
goalGraph[i][ii] = 1;
}
else {
goalGraph[i][ii] = 0;
System.out.print(".");
}
}
**/
}
その結果、読み込まれている行が出力され、正しい文字列が取得されます。
X.....
...X..
......
.X....
誰かが私を正しい方向に向けることができますか?
ありがとう!