#java #input
Вопрос:
Как бы я пропустил строку при чтении файла на java? каждый раз, когда я запускаю его, он вылетает, когда переходит в пустую строку.
Файл содержит:
Sue 12.60 8 4 5 8 2
Juan 13.75 4 2 7 5 10
Betty 12.10 9 3 5 7.
Jin 14.9 8 8 2 3 4 1
Вот что у меня есть до сих пор:
import java.io.*;
import java.util.*;
public class DATA {
public static void main(String[] args) {
Scanner input = null;
try {
input = new Scanner(new File("EmployeeData.txt"));
} catch (Exception e) {
System.exit(-1);
}
while (input.hasNextLine()) {
String line = input.nextLine();
Scanner lineScan = new Scanner(line);
String name = lineScan.next();
double rate = lineScan.nextDouble();
int sum = 0;
while (lineScan.hasNextInt()) {
sum = sum lineScan.nextInt();
}
double salary = rate * sum;
if (salary > 400) {
double tax = salary - (salary * 0.33);
System.out.print(name " worked for a total of: " sum " hours at $" rate);
System.out.printf(" hours at $ %.2f%n", rate);
System.out.printf(" an hour for a gross pay of $ %.2f%n", salary);
System.out.println("nAfter 33% taxes their total net pay should be " tax);
System.out.println();
} else {
double tax = salary - (salary * 0.25);
System.out.print(name " worked for a total of: " sum);
System.out.printf(" hours at $ %.2f", rate);
System.out.printf(" an hour for a gross pay of $ %.2f", salary);
System.out.println("nAfter 25% taxes their total net pay should be $" tax);
System.out.println();
}
}
}
}
Комментарии:
1. И вот в чем вопрос ?
2. как бы я пропустил строку при чтении файла на java? каждый раз, когда я запускаю его, он выходит из строя, когда переходит в пустую строку.
Ответ №1:
Чтобы пропустить пустую строку
String line = input.nextLine();
if (line.isEmpty()) continue;
Комментарии:
1.
.isEmpty()
так приятнее ?2.
length() < 1
действительно кажется странно расплывчатым.3. Я не уверен, что мы узнали о .isEmpty continue, есть ли другой способ сделать это?
4. Да, вы можете проверить, если
line.length () == 0
, ноisEmpty
это очень простой метод в стандартномString
классе5. @TianDitol это 2 очень разные вещи
isEmpty
, чтобы проверить строку,continue
пропустить ее и перейти к следующей итерации