Как пропустить строку при чтении файла на java

#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 пропустить ее и перейти к следующей итерации