Java I';我在这场刽子手游戏中完全迷失了方向

Java I';我在这场刽子手游戏中完全迷失了方向,java,project,Java,Project,所以我有了这个项目,我现在被困在代码的“猜测字母”部分 public boolean guessLetter( String letter ) { /* If the letter has already been guessed, print out a message that * it's already been guessed and return true. */ letter = letter.toUpperCase(); for(int

所以我有了这个项目,我现在被困在代码的“猜测字母”部分

public boolean guessLetter( String letter ) {
    /* If the letter has already been guessed, print out a message that
     * it's already been guessed and return true.
     */
    letter = letter.toUpperCase();
    for(int x = 0; x<letter.length(); x++){
        String a = letter.substring(x, x+1);
        if(letter.equals(a)){
            System.out.println("This letter was already found");
        }
    }

    /* Check to see if the letter is in phrase. If it is, put it into
     * solved in the correct place, replacing the underscore. 
     */
    for(int y = 0; y<letter.length(); y++){
        String blank = " ";
        String b = letter.substring(y, y+1);

        return true;
    }



    /* Fix this so it returns the right value, every time */
    return false;

}
公共布尔猜测字母(字符串字母){
/*如果已经猜到了这封信,请打印一条消息
*它已经被猜测并返回真值。
*/
letter=letter.toUpperCase();
例如(intx=0;x我喜欢做家庭作业:-)

这应该让你开始

public class HangMan {
    HashSet<String> guessedLetters = new HashSet();
    String phrase = "myWord";

    public boolean guessLetter(String letter) {
        if (guessedLetters.contains(letter)) {
            return true;
        } else {
            guessedLetters.add(letter);
            return false;
        }
    }

    public void inPhrase(String letter) {
        if (phrase.contains(letter)) {
            // Get all index of letter
            int index = phrase.indexOf(letter);
            while (index >= 0) {         
                index = phrase.indexOf(letter, index + 1);
                // Show the letter at this index
            }
        } else {
            // Decrease the number of guesses till zero, then update hangman?
        }
    }

}
公共级刽子手{
HashSet guessedLetters=新HashSet();
字符串短语=“myWord”;
公共布尔猜测字母(字符串字母){
if(猜测字母。包含(字母)){
返回true;
}否则{
猜字母。添加(字母);
返回false;
}
}
短语中的public void(字符串字母){
如果(短语包含(字母)){
//获取信件的所有索引
int index=短语indexOf(字母);
而(索引>=0){
索引=短语.indexOf(字母,索引+1);
//在此索引处显示字母
}
}否则{
//将猜测次数减少到零,然后更新hangman?
}
}
}

“我认为我当前的代码根本不起作用”你为什么这么认为?它应该做什么?它实际上在做什么?如果你不确定它是否有效,我们应该如何纠正它?错误是什么?是
字母
只有一个字符长,因此循环不会运行?如果
字母
应该是全字,那么变量名是misleading。看起来您正在检查字母本身。您不应该检查单词或短语,然后将字母添加到猜测字母容器中吗?在注释“检查字母是否在短语中。”中,但循环没有条件。if
letter.length()
大于0时,该函数将始终返回true。很难判断此处的问题。它是含糊不清的、模糊的、过于宽泛的、不完整的或修辞性的,并且在当前状态下无法合理回答。(无关,但在措辞上似乎很多余,这是一行。)他可能需要在措辞上做额外的逻辑,比如更新他的UI等。