簡體   English   中英

為什么我的while循環運行到無窮大?

[英]why does my while loop run to infinity?

為什么我的循環運行到無窮大而不是在某個點停止,即使我的文本文件中有一些有限的行數。

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()這樣的東西來實際讀取一行,否則總會留下一行,因為你永遠不會推進文件內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM