从Java中的矩阵中获取硬盘文件的输入

时间:2018-05-05 13:43:21

标签: java matrix bufferedreader jama

import Jama.Matrix;

public class T5 {
public static void main(String args[]){
    Matrix C=new Matrix(new double[][]{{1,0,0,},{0,1,0},{0,0,1}});
    Scanner x;
    try {
        x=new Scanner(new File("D://out.txt"));
        for (int i = 0; i < 100; i++) {
            double a1= x.nextDouble();
            Double b1=x.nextDouble();
            double c1=x.nextDouble();
            Matrix data1 = new Matrix(new double[][]{{a1, b1, c1}});
            double a = data1.get(i, 0);
            double b = data1.get(i, 1);
            double c = data1.get(i, 2);
            double[][] val = {{a}, {b}, {c}};
            Matrix A_new = new Matrix(val);
            Matrix newobser = C.times(A_new);
            newobser.print(9, 6);
        }
    }
    catch (Exception e){
        System.out.println(e);
    }
}
}

此代码存在问题。在这段代码中有一个矩阵data1,它有三列和一行,随着时间的推移迭代。我有硬盘名out.txt的文件。这个文件包含100行和3列。我尝试在变量a1中取出out.txt的第1列,在变量b1中输出out.txt的第2列,输出第3列变量c1中的.txt然后在Matrix data1中输入a1,b1,c1。这里我使用了构建矩阵包中的JAMA矩阵。 Getprinttimes(use for matrix multiplication)是JAMA矩阵包的功能。我怎样才能从外部文件中获取输入?我的过程无法正常工作。

1 个答案:

答案 0 :(得分:0)

尝试逐行读取文件时将文件内容映射到对象(代表每一行);并且每个记录以行标签或逗号分隔。

然后迭代保存文件内容的所有对象的列表,并将它们添加到矩阵中。