无法找到无限循环

时间:2016-04-26 01:53:16

标签: java loops infinite

所以我正在尝试编写一种方法,在刽子手游戏中迭代预定的单词。我想最终浏览每一个字符,如果字母没有被猜到就放一个“_”并显示该字母,但是,我遇到了无限循环,我无法找到它的位置。我认为我的逻辑也可能是错误的。

public String hiddenWord() {
    String hiddenWord = "";
    int i = 0;

    while ( i < this.word.length()) {            
        if ( this.word.contains(hiddenWord) ) {
            char c = this.word.charAt(i);
            hiddenWord += c;
        } else {
            hiddenWord += "_";
        }
        i++;
    }

    return hiddenWord;
}

1 个答案:

答案 0 :(得分:0)

我认为逻辑是:

  1. 一句话,如“Pneumonoultramicroscopicsilicovolcanoconiosis”。
  2. 猜一个角色,说'我'。
  3. 返回“______________ i _______ i__i_i ____________ i__i _”。
  4. 你可以通过char遍历单词char,并与猜测进行比较。

    示例代码。

    public class InfiniteLoop {
        String word;
    
        public static void main(String[] args) {
            InfiniteLoop il = new InfiniteLoop();
            il.word = "Pneumonoultramicroscopicsilicovolcanoconiosis";
            String hw = il.hiddenWord('i');
            System.out.println(hw);
        }
    
        public String hiddenWord(char g) {
            String hiddenWord = "";
            int i = 0;
    
            while ( i < this.word.length()) {            
                if ( this.word.charAt(i) == g) {
                    hiddenWord += g;
                } else {
                    hiddenWord += "_";
                }
                i++;
            }
    
            return hiddenWord;
        }
    }