【问题标题】:Jama Matrix printwriter errorJama Matrix 打印机错误
【发布时间】:2018-06-05 18:27:53
【问题描述】:

我在我的项目中使用 JAMA 矩阵。我需要在文本文件中写下 Jama 矩阵。为此,我写下了这段代码。

package Xdata;
import Jama.Matrix;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;


public class File_r {
public static void main(String args[]) {


 Matrix A = new Matrix(10, 10);
    try {
        PrintWriter write1 = new PrintWriter(new File("/home/robotics//IdeaProjects/Data_arrange/src/Xdata/mu_X.txt"));
        A.print(PrintWriter write1,9,6);// error in this line
     }
    catch(FileNotFoundException ex) {
        System.out.println(ex);

        }
    }
}

但它会引发错误:

/home/robotics/IdeaProjects/Data_arrange/src/Xdata/File_r.java
Error:(13, 32) java: ')' expected
Error:(13, 33) java: not a statement
Error:(13, 39) java: ';' expected

我在 intellj idea 中记下了这段代码。谁能告诉我为什么会出现这个错误?

【问题讨论】:

  • 这不是有效的 Java - 编写一些有效的 Java。你写了A.print(PrintWriter write1,9,6);为什么不A.print(PrintWriter write1,int 9,int 6)?语法错误不在此处讨论。
  • @Boris 蜘蛛我不写 A.print (PrintWriter write1,int 9,int 6) 因为 Jama 矩阵文档不允许我展示。他们有自己的打印功能语法。这是 Java 代码。这段代码看起来不像普通的 Java 代码,因为我使用的是 Jama 矩阵,而 Jama 矩阵有一些内置函数,所以如果我使用 Jama Matrix,我必须使用那些内置函数和语法。
  • 抱歉,这没有任何意义。 Java 语法是非瞬态的。没有图书馆改变这一点。恐怕你很困惑。我的问题是 - 它在文档中的哪个位置要求您传递参数的类型以及对方法调用的引用?
  • ~math.nist.gov/javanumerics/jama/doc/~ 从这里转到矩阵类,然后从矩阵类转到打印 print public void print(PrintWriter output, int w, int d) 将矩阵打印到输出流。使用类似 Fortran 的“Fw.d”样式格式将元素排列在列中。参数: output - 输出流。 w - 列宽。 d - 小数点后的位数。
  • 是的,那是一个 JavaDoc。你不打电话给new PrintWriter(File new File(...))是吗?

标签: java matrix jama


【解决方案1】:

我确实检查了 Jama api 的 Matrix.java。看起来您正在尝试在下面的 sn-p 中使用带有三个参数的 print 方法。请正确改写。

如下修复

 A.print(write1,9,6);// error in this line 

【讨论】:

  • 我已经尝试过你在这里建议的那种方式。但它也给了我不同类型的错误。在 jama 矩阵文档中也建议这样做。这就是我这样写的原因。
  • 打印不是java的一个类。在 write1 下还会出现一条红线。当我写 Printwriter write1 时,在 write1 和 9 之间会出现一个非常小的红点,这个错误是我已经在我的问题中写的。
【解决方案2】:

我解决了这个问题。我认为这对那些刚接触 Jama Matrix 并面临类似问题的人很有帮助。这是我的解决方案:

package Xdata;
import Jama.Matrix;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

 public class File_r {
public static void main(String args[]) {
    Matrix A = new Matrix(10, 10);
    PrintWriter writer=null;
    try {
         writer = new PrintWriter("/home/robotics//IdeaProjects/Data_arrange/src/Xdata/mu_X.txt");// So basically I change this line
        A.print(writer,2,2);
        writer.close();// Add this line

    }
    catch(FileNotFoundException ex) {
        System.out.println(ex);

    }
  }
}

这解决了我的问题。由于 JAMA Matrix 的文档很少,我认为这对读者很有帮助。

【讨论】:

  • 这不是 JAMA 的问题,而是基本的 java 语法。不是 JAMA 文档的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-31
  • 1970-01-01
  • 2020-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多