Java Hangman游戏的麻烦

时间:2016-04-17 14:11:02

标签: java

我为我的java hang man游戏制作了一个算法,它将用户猜测添加到一个数组中,该数组将猜测与单词中的字母相匹配。如果答案是正确的,它会将字母添加到与单词中相同位置的arraylist猜测中。方法完成后由于某种原因,答案总是返回错误。

  public class HangMan
{
   public final int GAME=9;
public void Hangman()
{
words();
}
String nerd="";
public void words()
{
Scanner in = new Scanner(System.in);
Random randomgenerator =new Random();
int random = randomgenerator.nextInt(4);
String myArray[]={"albatross","cat","mitosis","computer","coding"};
nerd=myArray[random];
//get length of word
int length=nerd.length();

       //create hangman
       System.out.println(" ------");
       System.out.println(" |");
       System.out.println(" |");
       System.out.println(" |");
       System.out.println(" |");
       System.out.println("____");
       System.out.println("Guess a letter!"); 



       //create dashes
       for(int z=0;z<length;z++)
       {
         System.out.print("_");
       }
    }




public void check()
{   

ArrayList<String>guesses=new ArrayList<String>();
  //Inputs a scanner
  Scanner in = new Scanner(System.in);

        // pre condition:if player guess equals a char in nerd 

           String guess1=in.nextLine();
           char guess=guess1.charAt(0);
           for(int i=0;i<nerd.length();i++)
           {

           }
              if(guess==nerd.charAt(z))
              {


                 System.out.println("Correct");
                 System.out.println("Your word so far");
                 System.out.print(guesses);
                  guesses.set(z, guess+"");
                 System.out.println("You have");
                 System.out.print(nerd.length()-z);
                 System.out.print("guesses left");

              }



           //pre condition: if the guess is wrong
           else
           { 
           System.out.println("Wrong");
           System.out.println("Your word so far");
           System.out.print(guesses);
           System.out.println("You have");
           System.out.print(nerd.length()-z);
           System.out.print("guesses left");

           }

        }

1 个答案:

答案 0 :(得分:0)

您正在迭代i,但您正在尝试将guess与索引z处的字符进行比较。我不认为你的代码格式正确,但这肯定是个问题。

顺便说一句,你可能想要使用String方法contains()而不是使用你的循环

相关问题