【问题标题】:How do I fix this simple for loop in Java? [closed]如何在 Java 中修复这个简单的 for 循环? [关闭]
【发布时间】:2021-03-29 04:04:45
【问题描述】:

我正在尝试创建一个循环来读取文本文件的前 60 行,但它只读取第一行 60 次。有谁知道为什么会发生这种情况并尝试解决它?

for (int i=0; i < 60; i++)
{
     WordReader line = new WordReader(buffaloBill); 
     String Line = line.getNextLine();
     
     System.out.println (Line);        
     
 }

【问题讨论】:

  • 您的问题无法按原样回答; WordReader 不是 JDK 的一部分。大概来自您正在使用的某个图书馆或您的家庭作业课程提供的图书馆;我们不能不知道它是什么。显然,它的.getNextLine() 方法在您每次调用它时都会返回同一行。我不知道它是什么,但它听起来像是一个设计糟糕的库。

标签: java loops


【解决方案1】:

单词阅读器需要在循环之外创建,否则,您将打开一个新的单词阅读器 60 次,因此它只会读取第一行:

WordReader line = new WordReader(buffaloBill); 

for (int i=0; i < 60; i++)
    {
         String Line = line.getNextLine();
         System.out.println (Line);        
         
     }

【讨论】:

    【解决方案2】:
    WordReader lines = new WordReader(buffaloBill);
    Integer i = 1;
    while((line=lines.readLine())!=null)  
    {  
        if(i==60) break;
        System.out.println (line);  
        i++;
    } 
    

    试试这个代码。

    【讨论】:

      【解决方案3】:
      Scanner line = new Scanner(buffaloBill)
      
      while(line.hasNext()) {
         String line = line.next() 
         System.out.println(line)
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-05
        • 1970-01-01
        • 2021-02-26
        • 1970-01-01
        • 1970-01-01
        • 2022-06-10
        • 1970-01-01
        相关资源
        最近更新 更多