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

Java 为什么我的while循环运行到无穷大?,java,file,loops,while-loop,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; whi

为什么即使文本文件中有有限(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");
          } 
    }
}

提前感谢您在这个问题上的帮助。

因为您从未调用过
cs.nextLine()
。这意味着您永远不会使用扫描仪中的值。所以
ca.hasNextLine()
是否返回true

您需要使用类似于
cs.nextLine()
的方法来实际读取一行,否则,由于您从未浏览过文件内容,因此始终会留下一行。

您从未实际读取下一行,因此
扫描仪
保持在第0行并返回
true
,这就是你计算的方法,如果你永远都不前进,“我们到了吗?”的答案永远不会改变。@cricket\u 007因为我从来没有增加过这么多谢谢你。