Массив полиномиальных объектов, считываемых из файла только с отображением последнего элемента

#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. Я не мог этого понять. Спасибо!