java - 程序终止而不打印任何内容

标签 java string

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

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();

    }

}

更新:

抱歉,删除了循环。该文件包含随机文本,其中包含“合法”一词。该文件已被扫描仪预先读取。

最佳答案

System.out.println(scan.next()); 将抛出异常,因为您在消耗完 while (scan.hasNext( ))循环。

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

关于java - 程序终止而不打印任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27380199/

相关文章:

Java Transport.send() 是线程安全的吗?

C# 枚举正则表达式匹配

java - Stardog 数据加载和 Jena

java - 正则表达式在Java中捕获匹配模式之前的单词

c - #define Printf() 字符串中的预处理器替换

java - 在字符串中查找换行符 "\n"

c# - 删除和添加字符串中的字母

python - 如何在python中删除路径前缀?

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 什么是NullPointerException,我该如何解决?