为什么我的while循环运行到无穷大?

时间:2016-11-30 20:42:13

标签: java file loops while-loop

为什么我的循环运行到无穷大而不是在某个时刻停止,即使我的文本文件中存在有限(10)行数。

import java.util.*;
import java.io.*;
public class numberOfLines{
    public static void main(String[] args){
       try{
          Scanner cs=new Scanner(new File("poem.txt"));
          int i=0;
          while(cs.hasNextLine()){
             System.out.println(i);
           }
        } catch(FileNotFoundException e){
          System.out.print("File not found");
          } 
    }
}

提前感谢您对此问题的帮助。

2 个答案:

答案 0 :(得分:2)

因为你从不打电话给ca.hasNextLine()。这意味着您永远不会消耗扫描仪中的值。所以template <class RecordType> main_savitch_12A::table<RecordType>::table() { used = 32; }; 永远都会回归真实;

答案 1 :(得分:1)

您需要使用类似cs.nextLine()的内容来实际读取一行,否则总会有一行,因为您永远无法通过文件内容。