如何在java中从txt文件中读取两个矩阵

如何在java中从txt文件中读取两个矩阵,java,arrays,matrix,matrix-multiplication,Java,Arrays,Matrix,Matrix Multiplication,因此,我得到了一个包含两个3x3矩阵的.txt文件,需要携带这些矩阵进行加法、乘法、减法和标量乘法,程序只需要一个矩阵,用户需要输入一个数字进行运算。 问题是让程序只读取矩阵。 这是我得到的.txt文件,其中前两个数字是大小: 3 3 12 34 45 34 -12 56 76 12 -1 @ 3 3 8 13 45 67 0 12 12 -12 3 有救生员吗 编辑1 这就是我到目前为止所拥有的,当我让用户输入矩阵时,乘法方法是有效的,但现在只是给出一些奇怪的答案,我遗漏了什么? 你必须:

因此,我得到了一个包含两个3x3矩阵的.txt文件,需要携带这些矩阵进行加法、乘法、减法和标量乘法,程序只需要一个矩阵,用户需要输入一个数字进行运算。 问题是让程序只读取矩阵。 这是我得到的.txt文件,其中前两个数字是大小:

3 3 12 34 45 34 -12 56 76 12 -1 @ 3 3 8 13 45 67 0 12 12 -12 3

有救生员吗

编辑1


这就是我到目前为止所拥有的,当我让用户输入矩阵时,乘法方法是有效的,但现在只是给出一些奇怪的答案,我遗漏了什么?

你必须:

读第一行

将其拆分以获得尺寸

阅读下一行关于尺寸的内容

读取特殊字符@

重复

正在读取您的第一个数组:

static void readFile() throws IOException {
    BufferedReader reader;
    reader = new BufferedReader(new FileReader("file.txt"));

    String firstDimension = reader.readLine();
    String[] split = firstDimension.split(" ");
    int firstX = Integer.parseInt(split[0]);
    int firstY = Integer.parseInt(split[0]);

    int[][] first = new int[firstX][firstY];

    for (int i = 0; i < firstX; i++) {
        String[] line = reader.readLine().split(" ");

        for (int j = 0; j < firstY; j++) {
            first[i][j] = Integer.parseInt(line[j]);
        }

    }

    // Read "@"
    reader.readLine();

    System.out.println(Arrays.deepToString(first));


}
输出应为:

[[12, 34, 45], [34, -12, 56], [76, 12, -1]]

到目前为止你试过什么?为什么它不起作用-你得到了什么结果,预期的结果是什么?我让用户输入矩阵,但后来发现我必须使用这个文本文件。不知道如何使用扫描仪只读取矩阵而忽略restHi Nicloa,欢迎来到SOSo基本上你自己什么都没试过,想让我们帮你解决问题?网上有很多教程展示了如何用java阅读文本文件。非常感谢,我现在得到了这个部分
3 3
12 34 45
34 -12 56
76 12 -1
@
3 3
8 13 45
67 0 12
12 -12 3
[[12, 34, 45], [34, -12, 56], [76, 12, -1]]