如何在Java中存储用户输入

如何在Java中存储用户输入,java,Java,我正在做一个简单的刽子手游戏。下面的代码更新了字母,以便检查猜测的字母是否正确地出现在单词中。但是,如果猜到第二个正确的字母,它将不会存储该字母。例如,对于“moose”,如果我猜“o”,那么它会打印出来(#oo###),如果我猜“e”,那么它会打印出来####e。也许这和else的陈述有关?我是个新手,所以任何提示或文档都会有所帮助。谢谢 public static boolean updateWithGuess(char[] knownLetters,

我正在做一个简单的刽子手游戏。下面的代码更新了字母,以便检查猜测的字母是否正确地出现在单词中。但是,如果猜到第二个正确的字母,它将不会存储该字母。例如,对于“moose”,如果我猜“o”,那么它会打印出来(#oo###),如果我猜“e”,那么它会打印出来####e。也许这和else的陈述有关?我是个新手,所以任何提示或文档都会有所帮助。谢谢

 public static boolean updateWithGuess(char[] knownLetters,
                                      char guessedLetter,
                                      String word) {
    boolean found = false;

    for(int i = 0; i < word.length(); i++) {
        if(word.charAt(i) == guessedLetter) {
            knownLetters[i] = guessedLetter;
            found = true;
        }
        else {
            knownLetters[i] = BLANK;
            found = false;
        }
    } 
    return found;
}
public static boolean updateWithGuess(char[]knownLetters,
查尔猜到了信,
(字符串){
布尔值=false;
for(int i=0;i
我猜问题不在这个方法中,而是尝试返回
char[]
,然后该方法的调用者将更新为该值,最终不关心它是否正确(除非您有理由不这样做)。另外,只需去掉整个else,这就是导致您出现问题的原因,因为它会将其他字母清空,即使它们是正确的。

为什么您需要
knownLetters[i]=BLANK?如果所有位置最初都为空,则无需再次将其指定为空。您将猜测的字母存储在单个char变量中,但将秘密字的字母存储在char数组中。如果…怎么办。。。您还将猜测的字符存储在第二个字符数组中,并在您想知道用户是否已经猜到它时对其进行迭代?