猜一个字(例如:**** *******)

时间:2013-01-06 01:35:33

标签: java

我正在尝试编写一段代码,允许我输入一个字母,然后检查该字母是否属于该字母。然后它应该显示只有正确字母可见的单词。

示例:

我需要猜测的词:丛林书

屏幕上显示

***** ****

我猜的信:j

在屏幕上显示:j**** ****

等等

到目前为止我得到了什么:

public void guessConsonent()  {
    String guessedConsonent = consonentInput(); 
    // returns a letter

    wordInStars = ""; 

    for (int s = 0; s < secretWord.length(); s++)
        if (secretWord.substring(s, s+1).equals(guessedConsonent)) {
            wordInStars += guessedConsonent;
        } else if (woordVanCat.substring(s, s+1).equals(" ")) {
            wordInStars += " ";
        } else {
            wordInStars += "*";
        }
    System.out.println(wordInStars);
}

问题在于,即使它是正确的,它也不会将该组成部分添加到该单词中。我仍然只能获得' * **'

问候

2 个答案:

答案 0 :(得分:3)

您似乎正在撰写hangman-clone in Java。我看不到的片段是:

if (wordVanCat.charAt(i) == a){
    woordSterRaden.setCharAt(i, a);
} else {
    woordSterRaden.setCharAt(i, '*');
}

答案 1 :(得分:0)

void guess() {
   Scanner cin = new Scanner(System.in);
   String yes = "Hello World";
   String g = "";
   for (int i = 0; i < yes.length(); ++i) g += '*';
   while (!yes.equals(g)) {
       String resp = cin.next();
       String temp = "";
       for (int i = 0; i < yes.length(); ++i) {
           if (g.charAt(i) == '*' && yes.charAt(i) == resp.charAt(0))
              temp += resp.charAt(0);
           else
              temp += g.charAt(i);
       }
       g = temp;
   }
}