所以我应该做的是,用户输入一个字母,然后程序检查该字母是否是单词的一部分,从那里我无法弄清楚我需要使用什么代码来显示其中一个字母本身就是我到目前为止所拥有的

do {
            System.out.println("Word: " + secretWord.getWordMask());
            //System.out.print("Guesses: " + guesses);
            System.out.print("Enter your guess: ");
            Scanner keyboard = new Scanner(System.in);
            String guess = keyboard.next();


            WordHider revealChar = new WordHider();
            System.out.println(revealChar.revealLetter(guess));

            //if (secretWord.revealLetter(guess));

    } while (secretWord.isHiddenWordFound());


这是我获得的类的另一部分,我必须弄清楚如何调用它并实现它

public int revealLetter(String letter) {
    int count = 0;
    String newFoundWord = "";
    if (letter.length() == 1) {
        for (int i = 0; i < secretWord.length(); i++) {
            if ((secretWord.charAt(i) == letter.charAt(0))
                    && (wordMask.charAt(i) == HIDE_CHAR.charAt(0))) {
                count++;
                newFoundWord += letter;
            }
            else {
                newFoundWord += wordMask.charAt(i);
            }
        }
    }
    wordMask = newFoundWord;
    return count;


我的主要问题是在我有WordHider revealChar = new WordHider(); System.out.println(revealChar.revealLetter(guess));的第一部分中
应该做的是显示我的信,但绝对不对,有什么想法吗?

最佳答案

看起来您正在显示计数而不是wordMask。您可以将revealLetter的返回类型更改为String并返回wordMask,或者,如果不是这样,则可以将do-while中的代码更改为如下所示:

revealChar.revealLetter(guess);
System.out.println(revealChar.getWordMask())

关于java - 在a子手游戏中揭示角色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15710961/

10-11 19:28