【问题标题】:why isn't the rest of my method being called? (loop being ignored)为什么不调用我的方法的其余部分? (循环被忽略)
【发布时间】:2019-04-14 19:12:00
【问题描述】:

我正在尝试编写一个程序来读取文件,然后将其打印出来,然后再次读取,但第二次只打印出以“The”开头的行。它确实打印出文件的内容,但是它没有打印出以“The”开头的行,我不知道为什么。它在循环之前打印出 println 行,但随后它完全忽略了 for 循环。我的 findThe 方法和我的 OutputTheArray 方法之间的唯一区别是子字符串部分,所以我认为这是问题区域,但我不知道如何解决它。

import java.util.*;
import java.io.*;

public class EZD_readingFiles
{

 public static int inputToArray(String fr[], Scanner sf)
{
  int max = -1;
  while(sf.hasNext())
  {
    max++;
    fr[max] = sf.nextLine();
  }
  return max;
}

public static void findThe(String fr[], int max)
{
  System.out.println("\nHere are the lines that begin with \"The\": \n");

  for(int b = 0; b <= max; b++)
  {
    String s = fr[b].substring(0,4);

    if(s.equals("The "))
    {
      System.out.println(fr[b]);
    }  
  }
}

public static void OutputTheArray(String fr[], int max)
{
  System.out.println("Here is the original file: \n");
  for(int a = 0; a <= max; a++)
  {
    System.out.println(fr[a]);
  }
}


public static void main(String args[]) throws IOException
{
  Scanner sf = new Scanner(new File("EZD_readme.txt"));

  String fr[] = new String[5];

  int y = EZD_readingFiles.inputToArray(fr,sf);
  EZD_readingFiles.OutputTheArray(fr,y);

  int z = EZD_readingFiles.inputToArray(fr,sf);
  EZD_readingFiles.findThe(fr,z);
  sf.close();
 }
}

这是我的带有测试数据的文本文件 (EZD_readme.txt):

每个人都尽可能地努力。

最好的办法就是这样。

时间表很好。

科斯莫·克莱默是个笨蛋。

最好的电影被取消了。

【问题讨论】:

  • 你已经读过整个文件一次,所以第二次调用 inputToArray 时你没有什么要读的。

标签: java methods substring filereader


【解决方案1】:

尝试克隆 sf 并将其传递给其他函数。

类似这样的:

Scanner sf = new Scanner(new File("EZD_readme.txt"));
Scanner sf1 = sf.clone();

int y = EZD_readingFiles.inputToArray(fr,sf);
EZD_readingFiles.OutputTheArray(fr,y);

int z = EZD_readingFiles.inputToArray(fr,sf1);
EZD_readingFiles.findThe(fr,z);
sf.close();
sf1.close();

【讨论】:

    猜你喜欢
    • 2013-04-24
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多