Ошибка принтера Jama Matrix

Я использую матрицу 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. Может ли кто-нибудь сказать мне, почему я получаю эту ошибку?


person Saswati    schedule 05.06.2018    source источник
comment
Это недопустимая Java — напишите какую-нибудь действительную Java. Вы написали A.print(PrintWriter write1,9,6); почему не A.print(PrintWriter write1,int 9,int 6)? Синтаксические ошибки здесь не по теме.   -  person Boris the Spider    schedule 05.06.2018
comment
@ Паук Борис Я не пишу A.print (PrintWriter write1, int 9, int 6), потому что документация по матрице Jama не позволяет мне делать шоу. У них есть собственный синтаксис для функции печати. Это код Java. Этот код не похож на обычный код Java, потому что я использую матрицу Jama, а матрица Jama имеет некоторую встроенную функцию, поэтому, если я использую матрицу Jama, я должен использовать эту встроенную функцию и синтаксис.   -  person Saswati    schedule 05.06.2018
comment
Извините, но это не имеет смысла. Синтаксис Java непреходящ. Ни одна библиотека этого не изменит. Вы, боюсь, запутались. Мой вопрос остается в силе: где в документации вас просят передать тип аргумента, а также ссылку на вызов метода?   -  person Boris the Spider    schedule 05.06.2018
comment
~math.nist.gov/javanumerics/jama/doc/~ отсюда перейдите к классу Matrix, затем из класса матрицы перейдите к печати public void print (вывод PrintWriter, int w, int d) Распечатайте матрицу в выходной поток. Выровняйте элементы в столбцах с форматом стиля Fortran 'Fw.d'. Параметры: output - Выходной поток. w - ширина столбца. d - количество цифр после запятой.   -  person Saswati    schedule 05.06.2018
comment
Да, это JavaDoc. Вы ведь не вызываете new PrintWriter(File new File(...))?   -  person Boris the Spider    schedule 05.06.2018
comment
ЕСЛИ я не вызываю там Printwriter, то где я должен указать имя пути к классам и имя файла, в котором я хочу написать свою матрицу джама?   -  person Saswati    schedule 05.06.2018


Ответы (2)


Я проверил Jama api для Matrix.java. похоже, вы пытаетесь использовать метод печати с тремя параметрами в приведенном ниже фрагменте. пожалуйста, перепишите правильно.

исправить это, как показано ниже

 A.print(write1,9,6);// error in this line 
person Yohannes Gebremariam    schedule 05.06.2018
comment
Я уже пробовал так, как вы предложили здесь. Но это также дает мне другой тип ошибки. Также это предлагается в документации по матрице джамы. Вот почему я так пишу. - person Saswati; 05.06.2018
comment
Print не является классом java. А также появляется красная строка под write1. Когда я пишу Printwriter write1, между write1 и 9 появляется очень маленькая красная точка, и эта ошибка дает то, что я уже пишу в своем вопросе. - person Saswati; 05.06.2018

Я решил эту проблему. Я думаю, что это полезно для тех, кто плохо знаком с 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 очень мало, я думаю, что это действительно полезно для читателя.

person Saswati    schedule 06.06.2018
comment
Это не проблема с JAMA, а с базовым синтаксисом java. Не проблема документации JAMA. - person Dorian Gray; 05.12.2019