Прочитайте первый файл и напишите второй
У меня есть файл со следующим текстом:
- Алан Альда 100 2
- Coco Channel 103 2
- Эрик Эдвардс 105 0 ...
Я должен использовать только один метод для чтения первого файла и записи этой информации во второй и подсчета количества строк, что означает заемщиков и общее количество заимствованных книг, что является последним числом в строке. Итак, в моем выводе 3 пустые строки для этого текста, но подсчет и итоговая обработка хорошо обрабатываются в следующих строках. Я понятия не имел, как добавить последнее число только путем присвоения переменной каждой строке.
input = new Scanner(inFile);
output = new PrintWriter(outFile);
...
public void processFiles()
{
while(input.hasNextLine())
{
count++;
String firstName = input.next();
String lastName = input.next();
String libraryNumber = input.next();
total += input.nextInt();
output.println(input.nextLine());//empty strings
}
output.println("number of borrowers"+count); //3
output.println("number of books borrowed"+total); //2+2+0
}
1 ответ
String firstName = input.next();
String lastName = input.next();
String libraryNumber = input.next();
total += input.nextInt();
output.println(input.nextLine());//empty strings
Вы читаете первое имя, "Алан", второе имя "Алда", номер библиотеки "100" и следующий int, равный 2. Затем вы читаете вплоть до следующего возврата каретки.. что является следующий персонаж Так как \n
снят с String
то, что найдено, вы получите пустую строку. Если бы я был тобой, я бы прочитал всю строку, разобрать String
сам и выпиши.
пример
String line = input.nextLine();
String[] values = line.split(" ");
String firstName = values[0];
String secondName = values[1];
String libraryNumber = values[2];
total += Integer.parseInt(values[3]);
output.println(line);