// from your main method
String fname = "data.txt";
readData (fname);
// the method being called
public static void readData (String data[][]){
BufferedReader br = new BufferedReader(new FileReader(data));
У нас здесь несовместимость.
- fname - это строка
- Метод принимает в качестве параметра String [].
- конструктор newFileReader () принимает строку, а не двумерный массив.
Все эти три должны быть одного типа данных.
Как можно отделить каждую «квитанцию» от нуля (как показано на изображении выше)?
Тебе не обязательно. Вы должны ЧИТАТЬ из этого файла с нулями в нем.
Я бы порекомендовал вам написать метод примерно так:
public double [] readOneReceipt (читатель BufferedReader);
Этот метод должен
- Читайте построчно, пока не встретится 0 записей
- для каждой записи, которую она читает, преобразовать значение в число (double?)
- Хранить номер во временной структуре.
- Когда вы встретите «0», создайте новый массив правильного размера и скопируйте в него считанные значения.
Как я могу записать вывод в отдельный файл?
С java.io.FileWriter
Самым сложным в этом IMO является тот факт, что вам говорят хранить данные в 2-мерном массиве, но вы точно не знаете, какой размер создать массив, пока не прочитаете данные.
Это означает, что вы либо используете временную динамическую структуру, либо читаете файл дважды - один раз, чтобы узнать, сколько существует квитанций, чтобы вы могли создать массив, а затем снова, чтобы фактически прочитать данные квитанции.