0

我知道这可能是非常基本的,但我已经尝试了几个小时,仍然无法自己解决这个问题。所以现在我正在为我的 AI 课做 8 个益智游戏。我需要用户输入一系列数字,比如:“032 145 678”,我只需将其存储到一个 3x3 矩阵中,其中 0 基本上代表一个空块。所以它应该接受用户输入并将其存储为 {{032},{145},{678}},一个 3x3 矩阵。

编辑:

public void ReadFromTxt(String file) throws FileNotFoundException, IOException {
    String read; 
    FileReader f = new FileReader(file);
    int i = 0;
    int j;
    BufferedReader b = new BufferedReader(f);
    System.out.println("Loading puzzle from file...");
    while((read = b.readLine())!=null){
        if(read.length()==3){
            for(j=0;j<3;j++){
                board[i][j] = (int)(read.charAt(j)-48);
            }
        }
        i++;
    }
    b.close();
    System.out.println("Puzzle loaded!");
}
4

1 回答 1

0

最好的方法是让用户将数字存储在文本文件中。文本文件格式为 3 行,每行只能有 3 位数字,并且数字从每行的开头开始。

您的程序应该将存储数字的文件的名称作为参数。

该程序为自己分配一个 3x3 无符号整数数组,打开文件,然后依次读取每一行。它检查行的格式是否正确:开头必须有 3 位数字,之后允许空格。如果不正确,程序会向用户打印一条错误消息并退出。

如果行的格式正确,则将数字存储到数组的一行中。

如果超过 3 行,程序再次打印错误消息并退出。

于 2016-09-30T21:37:07.100 回答