0

ファイルからすべての奇数行を印刷する簡単なプログラムを作成しました。

    public static void main(String[] args) throws FileNotFoundException{
    File file = new File("text.txt");
    Scanner fileRead = new Scanner(file);
    int lineCount = 0; 
    int i = 0;

    while(fileRead.hasNextLine()){
      lineCount++;
      i = lineCount % 2;
      System.out.println("Line count -- >> " + lineCount);
      if(i == 1){
          System.out.println(fileRead.nextLine());
      }          
    }        
    fileRead.close();
 }
}

だから私はそれを実行すると、出力は

行数 -- >> 1

奇数

行数 -- >> 2

行数 -- >> 3

行数 -- >> 4

行数 -- >> 5

奇数

など.... lineCount が 2 回インクリメントされるのはなぜですか? 前もって感謝します

4

3 に答える 3

0

行数の印刷は、奇数の数をチェックする条件の範囲外であるため、奇数行ごとにその出力が2回得られます。行数が奇数の場合にのみ次の行まで読み取るため、奇数行を取得することもありません

次のようなものが必要です。

String line = fileRead.nextLine();
if(i == 1){
    System.out.println(line);
}  
于 2013-08-16T10:05:24.907 に答える