编辑我是个白痴。我意识到我可以将整个文本文件作为一个字符串读取,然后尽可能多地操作该字符串(这将满足一次读取文本文件的要求)。我想在提出一个更简单的问题时,如何将文本文件的内容转换为一个大的 'ole 字符串?我现在只是在放屁。
好吧,标题几乎说明了困境。这是我已经完成的代码。这不是全部代码,但通常与我的问题有关。目前,我让它在文本文件中读取 2 次,第一次实例化 theMaze 属性的维度,第二个扫描仪将字符分配到数组中的相应位置。考虑到您需要知道文本文件中内容的空间,我不明白您如何一次读取文件。任何帮助将非常感激!另外,如果您需要我,我很乐意指定。就问吧!
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class maze {
private char[][] theMaze; // Will represent the maze
private int colStart, rowStart; // Location of the ‘S’ symbol in the maze
private int rows, cols; // Number of rows and cols in the maze
public maze(String filename) throws IOException{
this.cols = 0;
this.rows = 0;
File Maze = new File(filename);
Scanner input = new Scanner(Maze);
for(rows = 0; input.hasNext() == true; rows++){
String line = input.nextLine();
cols = line.length();
}
this.theMaze = new char[rows][cols];
String[] data = new String[rows];
Scanner inputAgain = new Scanner(Maze);
for(int i = 0; i < rows; i++){
data[i] = inputAgain.nextLine();
for(int j = 0; j < cols; j++){
char placeholder = data[i].charAt(j);
theMaze[i][j] = placeholder;
}
}
findStart();
boolean yes = solve(rowStart, colStart);
print(yes);
}