我正在写一个单词猜谜游戏,计算机从txt文件中随机选择一个5个字母的单词。每一轮玩家猜测一个5个字母的单词,如果猜测不正确,计算机会说出猜测与#34;秘密有多少相同的字母"字。
如何检查单词是否在'字典中? (一个允许的单词的txt文件)?
// is word in the dictionary?
public boolean isValidWord(String word) {
//see if string inputted is in the dictionary
}
答案 0 :(得分:1)
有多种方法可以做到这一点: 一个是您可以在字典中读取一次,将其保存在内存中,如下所示,然后执行查找以查看该单词是否存在
Scanner scanner=new Scanner("FileNameWithPath");
List<String> list=new ArrayList<>();
while(scanner.hasNextLine()){
list.add(scanner.nextLine());
}
或类似于BufferedReader
:
BufferedReader in = new BufferedReader(new FileReader("path/of/text"));
String str;
List<String> list = new ArrayList<String>();
while((str = in.readLine()) != null){
list.add(str);
}
现在您的方法是对列表中的String进行简单检查。
答案 1 :(得分:1)
使用java8的新功能!
// read all lines
return !Files.lines(Paths.get(fileName))
// search matches
.filter(w -> w.equals(word))
// any hit?
.findAny()
.isEmpty();