用扫描文件练习

时间:2014-04-14 15:04:51

标签: java java.util.scanner

我必须打印此文件“文本”的偶数行,我该怎么做?

public static void main(String[] args) throws FileNotFoundException{
    File f =new File("text.txt");
    Scanner scanner = new Scanner(f);

    while(scanner.hasNextLine()){
        System.out.println(scanner.nextLine());
    }
}

谢谢。

3 个答案:

答案 0 :(得分:2)

这是一种简单的方法来跟踪您所在的线路以及如​​何判断它是否为偶数。如果它确实是偶数,那么我们打印它。

public static void main(String[] args) throws FileNotFoundException {
    File f = new File("text.txt");
    Scanner scanner = new Scanner(f);
    int counter = 1; //This will tell you which line you are on

    while(scanner.hasNextLine()) {
        if (counter % 2 == 0) { //This checks if the line number is even
            System.out.println(scanner.nextLine());
        }
        counter++; //This says we just looked at one more line
    }
}

答案 1 :(得分:1)

在迭代文件内容时使用行号上的remainder operator %

答案 2 :(得分:0)

你也可以在while循环的每次迭代中使用两个标记,并打印出每个第一个(偶数)一个标记。

虽然使用计数器可能更清楚。

import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;

public class NumberPrinter {
  public static void main(String[] args) throws FileNotFoundException{
    File f =new File("text.txt");
    Scanner scanner = new Scanner(f);

    while(scanner.hasNextLine()){
        System.out.println(scanner.nextLine());
      if (scanner.hasNextLine()) {
        scanner.nextLine();
      }
    }
  }
}