-2
我做了一個我的Java掛人遊戲算法,增加了用戶猜測數組匹配的猜測與字中的一個字母。如果答案是正確的,它會將該字母添加到與該單詞中相同位置的數組列表猜測中。一旦方法完成由於某種原因,答案總是返回不正確。麻煩與爪哇Hang子手遊戲
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");
}
}
當使用。載有()我會怎麼輸入添加到我的猜測陣列的特定位置。現在我有這個代碼,但如果我刪除我的for循環,我不能設置猜測到一個特定的位置。 guesses.set(i,guess +「」); –
使用含有或不會解決你的問題,只是潛在地改善你的代碼。你說的對,因爲你也需要索引。我關於迭代的主要評論怎麼樣? –