繁体   English   中英

程序终止,不打印任何内容

[英]Program terminates without printing anything

我正在尝试从列出的文件中打印一行,其中包含一个单词。 但是该程序什么也不做。 有人可以帮助我提供代码吗? 谢谢

import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;


public class SearchingArrayLists {
public static void main(String[] args) throws Exception {

      ArrayList names = new ArrayList();
      Scanner scan = new Scanner(new File("random.txt"));

      while (scan.hasNext()){
        names.add(scan.next());
      }

      if (names.contains("legal")){
      System.out.println(scan.next());
      }

      scan.close();

    }

}

更新:

抱歉,删除了循环。 文件中包含“ legal”一词的随机文本。 扫描仪事先已读取文件。

System.out.println(scan.next()); 将抛出一个异常,因为您在while (scan.hasNext())循环中使用了所有输入后才调用它。

但是,如果您的names列表不包含与字符串“ legal”的完全匹配的内容,它甚至可能不会达到该例外。

Scanner scan = new Scanner(new File("random.txt"));
  String name = "" ;
  while (scan.hasNextLine()){
    name  = scan.nextLine();
   if (name.contains("legal")){
  System.out.println(name);
  }
}




  scan.close();

尝试上面的代码,甚至不需要列表。 我尚未编译它,因此,如果您遇到任何语法错误,请删除它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM