如何从用户那里获取输入并将它们放入矩阵中?

时间:2016-09-30 21:23:06

标签: arrays matrix 8-puzzle

我知道这可能是非常基本但我已经尝试了几个小时但仍然无法自己解决这个问题。所以现在我正在为我的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!");
}

1 个答案:

答案 0 :(得分:0)

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

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

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

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

如果有超过3行,程序将再次输出错误消息并退出。