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

时间:2014-12-09 13:34:27

标签: 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();

    }

}

更新:

抱歉,删除了循环。该文件包含随机文本,其中单词" legal"在那里。预先通过扫描仪读取文件。

2 个答案:

答案 0 :(得分:2)

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

但如果您的names列表与字符串" legal"完全匹配,则可能无法达到该例外。

答案 1 :(得分:1)

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

尝试上面的代码,你甚至不需要列表。我没有编译它,所以如果你有任何语法错误就删除。