我正在尝试从列出的文件中打印一行,其中包含一个单词。但该计划什么都不做。有人可以帮我代码吗?感谢
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"在那里。预先通过扫描仪读取文件。
答案 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();
尝试上面的代码,你甚至不需要列表。我没有编译它,所以如果你有任何语法错误就删除。