Java 在刽子手游戏中展示人物

Java 在刽子手游戏中展示人物,java,methods,character-properties,Java,Methods,Character Properties,所以我应该做的是,用户输入一个字母,程序检查这个字母是否是单词的一部分,从那里我不知道我需要用什么代码来让其中一个字母显示出来这是我到目前为止得到的 do { System.out.println("Word: " + secretWord.getWordMask()); //System.out.print("Guesses: " + guesses); System.out.print("Ente

所以我应该做的是,用户输入一个字母,程序检查这个字母是否是单词的一部分,从那里我不知道我需要用什么代码来让其中一个字母显示出来这是我到目前为止得到的

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;
public int revealLetter(字符串字母){
整数计数=0;
字符串newFoundWord=“”;
如果(字母长度()==1){
for(int i=0;i
我的主要问题就在第一部分,我有
WordHider-revealChar=new-WordHider();
System.out.println(revealChar.revealLetter(guess));

这样做的目的是显示i字母,但这绝对不对,有什么想法吗?

看起来您显示的是计数而不是字掩码。您可以将Revalletter的返回类型更改为String并返回字掩码,或者如果这不是一个选项,请将do while中的代码更改为类似以下内容:

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

您的整个程序可以由几行代码替换:

String guessedLetters ="";
然后在你的猜测循环中:

guessedLetters += guess;
String display = secretWord.replaceAll("[^" + guessedLetters + "]", "_");

谢谢,这非常有效。但是您介意解释一下代码的具体功能吗?使用StringBuilder,它将允许替换给定索引处的字符