我正在编写一个从文本文件中扫描的单词搜索程序。文本文件包含两个整数(拼图的尺寸,在本例中为 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
 - 星期
 - 寻找
 - 随机的
 - 侦探
 - 落后
 - 垂直的
 - 对角线
 - 维基百科
 - 水平的
 - 词搜索