我正在编写一个从文本文件中扫描的单词搜索程序。文本文件包含两个整数(拼图的尺寸,在本例中为 10x10),然后是拼图,然后是另一个整数(要查找的单词数量),最后是要查找的单词。我正在尝试编写代码,以便程序将执行一个 for 循环,该循环将扫描下一行,然后将字符串中的每个字符添加到 2D 数组中。然而,扫描仪似乎继续通过文件并最终在文件上“越界”,即使根据 for 循环,它应该运行不超过 10 次(拼图的尺寸为 10x10)
这是有问题的代码:
Scanner scan = new Scanner(new File("puzzle.txt"));
int rows = scan.nextInt();
int columns = scan.nextInt();
int [][] wordSearch = new int[rows][columns];
for (int i = 0; i < rows; i++){
for (int j = 0; j < columns; j++){
String temp = scan.nextLine();
for (int k = 0; k < temp.length(); k++){
wordSearch[i][j] = temp.charAt(k);
}
}
}
这是拼图.txt:
- 10 10
- 垂直呼叫
- ROOAFFLSAB
- 阿克里利亚托阿
- NDODKONWDC
- 德克苏德克
- OEEPZEGLIW
- 微华埃拉
- ALRKRRIRER
- KODIDEDRCD
- 赫尔斯劳特
- 10
- 星期
- 寻找
- 随机的
- 侦探
- 落后
- 垂直的
- 对角线
- 维基百科
- 水平的
- 词搜索