#java
#java
Вопрос:
Я читаю файл полиномов, используя JFileChooser, а затем разбираю файловые токены на строки, а затем добавляю эти строки в ArrayList объектов типа Polynomial. Например, мой файл .txt выглядит следующим образом: 12 1 3.6 2 9 8, который представляет многочлен «12x 3.6x ^ 2 9x ^ 8», а во второй строке у меня есть 5.6 3 4 1 8.3 0, который представляет многочлен «5.6x ^ 3 4x 8.3»
Мне нужно выполнить с ними кучу сортировки, но мне нужна помощь в распечатке элементов ArrayList. По какой-то причине ArrayLists отображает только последние элементы (термы) каждого полинома. Вот код в моем основном методе, и логика мне кажется разумной, но я надеюсь, что один из вас, более опытных парней, сможет указать мне правильное направление. Спасибо!
Вывод: Многочлен1: 9,0 x ^ 8 Многочлен 2: 8,3, но мой желаемый результат: многочлен 1: 12x 3,6x ^ 2 9,0 x ^ 8 Многочлен 2: 5,6x ^ 3 4x 8,3
File file = chooser.getSelectedFile();
r = new BufferedReader(new FileReader(file));
s = r.readLine();
while (s != null) {
try {
num ;
// file correctly reads into String, but not printing out in toString method
// from
// Polynomial object
list.add(new Polynomial(s));
System.out.println("Polynomial " num " toString: " " " list.get(list.size() - 1));
} catch (InvalidPolynomialSyntax e) {
JOptionPane.showMessageDialog(null, "Please enter valid polynomial syntax", "Syntax Error",
JOptionPane.ERROR_MESSAGE);
}
s = r.readLine();
}
} catch (IOException ioe) {
JOptionPane.showMessageDialog(null, "Error encountered with input file, check file input and try again",
"IO Exception Error", JOptionPane.ERROR_MESSAGE);
}
}
Комментарии:
1. Когда вы объединяете объекты в строки с
Object::toString
, вызывается метод объекта. Таким образом, это, вероятно, зависит от того, чтоPolynomial::toString
делает переопределение этого метода.2. Спасибо, брат! Вы правы, это было как-то связано с моим методом toSring. Я не мог этого понять. Спасибо!