2014-04-14 86 views
0

我必須打印此文件的「文本」的偶數行,我該怎麼做?練習掃描文件

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()); 
    } 
} 

謝謝。

+1

'if(lineNumber%2 == 0)''那麼它是偶數行。你只需要一個計數器變量或某種方式來跟蹤你到目前爲止看過多少行。 – csmckelvey

+0

使用'%'很簡單,重點是自己嘗試一下,就像做練習一樣。你只需要添加2-3行代碼。 :) –

回答

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 
    } 
} 
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(); 
     } 
    } 
    } 
}