我正在尝试从文本文件中读取网格以从中构建图形。
目标节点由 a 表示,X
而其他节点由 a 表示.
。
我也有行数和列数。所以,我基本上只是试图读取每一行的下一行,然后通过传递列位置的迭代器来获取每个列位置的字符,并根据它检查它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)
。
另一个奇怪的地方是,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....
谁能指出我正确的方向?
谢谢!