2015-09-30 35 views
0

我正在尝试编写财富游戏轮的程序,并且我希望它只是在用户输入的单词中想要开始游戏,然后再进行猜测。到目前为止,我有这个。财富循环之轮简单

String enterPhrase = (" Enter a phrase : ");  
    String guess = ""; 
    Scanner input = new Scanner (System.in); 
    boolean notDone = true; 
    while (notDone) 
    { 
     notDone = false; 
     for(char guessLetter : enterPhrase.toCharArray()){ 

      if(guess.indexOf(guessLetter) == -1){ 
       System.out.println('*'); 
       notDone = true; 

      } else { 

        System.out.println(guessLetter); 
        } 
      } 
       if(! notDone) {break;} 
        System.out.println("Guess a letter: "); 
        String letter1 = input.next(); 
        guess += letter1; 



    } 
    System.out.println("Hooray! It took you guesses"); 
    } 
} 

,并打印出这一点:

Guess a letter: 
d 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 

如果我能得到关于如何使破折号水平打印一些帮助。并且在他们猜测的每个字母上都有输入,如果正确并且在程序结束时计算他们完成单词需要多少次。

+2

使用'System.out的增加此计数器.print'而不是'System.out.println' –

回答

0

System.out.println()将一个字符串打印到控制台,并将一个末尾连接到字符串。

如果你想水平打印破折号,那么你将需要使用System.out.print() - 这不会连接端线。这应该用于打印猜测的单个字母(但显然不是在打印“猜字母”时)。

要计算有多少猜测要求用户得到整个字符串正确的,只是存储的另一个变量,int count,初始化为0,他们猜测每次由1

+0

我在:if(!notDone){break;}'code'中添加了:int count'code',它将一个字母放入短划线中,我如何得到它把其他字母,当它再次运行到另一个破折号,而保持第一个那里 –

+0

有很多方法可以做到这一点。我该怎么做才能记住数组或字符串中猜到的字符。这样你就不会覆盖以前的猜测,而只是增加了他们。这可能是最简单的字符串连接。 – NoseKnowsAll