0
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,它具有随时间迭代的三列和 1 行。我在硬盘名称中有文件out.txt。此文件包含 100 行和 3 列。我尝试在变量 a1 中取 out.txt 的第 1 列,在变量 b1 中取 out.txt 的第 2 列,在变量 c1 中取 out.txt 的第 3 列.然后在Matrix data1中输入a1,b1,c1。这里我使用JAMA矩阵,这是一个构建矩阵包。Getprint,times(use for matrix multiplication)是 JAMA 矩阵包的函数。我怎样才能继续从外部文件中获取输入?我的过程不起作用。

4

1 回答 1

0

尝试将文件的内容映射到一个对象(代表每一行),同时逐行读取文件;并且每条记录用制表符或逗号分隔。

然后遍历包含文件内容的所有对象的列表并将它们添加到矩阵中。

于 2018-05-05T16:07:46.127 回答