gpt4 book ai didi

java - 检测用户输入的单词是否与Java中数组列表中的字符串匹配

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:41 25 4
gpt4 key购买 nike

我正在尝试用 Java 创建类似 Typer Shark 的游戏。我在检测用户输入的字符串是否与数组列表中的元素匹配时遇到问题。我尝试这样做:

    char key = e.getKeyChar();
ArrayList<String> word = new ArrayList<String>();
word.add("hello");
word.add("red");
word.add("blue");
int counter = 0;

for(String temp:word){
for(int i=0; i<temp.length();i++){
if(key==temp.charAt(i))
counter++;
else
break;
}
if(counter==temp.length())
System.out.println("Correct");
}

我不确定我是否走在正确的道路上。提前致谢!

编辑:我尝试使用文本字段执行此操作,它有效,但玩家必须按 Enter 键,程序才能在数组列表中找到匹配项。我试图找出是否可以在不按 Enter 的情况下匹配键入的单词(只需使用 Java 中的 keyTyped )。谢谢!

最佳答案

您没有为每个单词重置计数器。将其移至外部 for 循环内部。您还需要记住以前的字符。

还可以考虑使用String.startsWith

除了记住以前的字符之外,您还可以记住以前匹配的单词。 java.util.BitSet 非常适合此目的。

重新编辑:假设您使用的是 Swing(或 AWT),如果您将 DocumentListener 添加到 JTextFieldDocument,然后在 insertUpdateremoveUpdate 上运行代码(changedUpdate 表示其他内容),那么您可以忽略 ActionListener

关于java - 检测用户输入的单词是否与Java中数组列表中的字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34094015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com