0
所以我試圖做一個hang子手遊戲,它會從單詞文件生成一個隨機單詞,要求用戶輸入一個字母,然後通過該單詞並打印該字母它出現或打印「_」。我知道我的「對不起,沒有找到匹配」現在的問題是不正確的,但我有麻煩能夠守在原地猜當我打印的字到目前爲止最後一個正確的字母在基於文本的hang子手遊戲中打印字母
import java.util.Scanner;
import java.util.Random;
import java.io.*;
public class hangman
{
public static void main(String args[])
{
Scanner hangman = null;
try
{
// Create a scanner to read the file, file name is parameter
hangman = new Scanner (new File("C:\\Users\\Phil\\Desktop\\hangman.txt"));
}
catch (FileNotFoundException e)
{
System.out.println ("File not found!");
// Stop program if no file found
System.exit (0);
}
String[] list = new String[100];
int x = 0;
while(hangman.hasNext())
{
list[x] = hangman.nextLine();
x++;
}
Random randWord = new Random();
String word = "";
int wordNum = 0;
boolean stillPlaying = true;
wordNum = randWord.nextInt(12);
word = list[wordNum];
System.out.println("The word has "+word.length()+" letters");
Scanner letter = new Scanner(System.in);
String guess = "";
while(stillPlaying = true)
{
System.out.println("Guess a letter a-z");
guess = letter.nextLine();
for(int y = 0; y<word.length(); y++)
{
if(word.contains(guess))
{
if(guess.equals(word.substring(y,y+1)))
{
System.out.print(guess+" ");
}
else
System.out.print("_ ");
}
else
{
System.out.println("Sorry, no matches found");
}
}
}
}
}
好了,所以這肯定又近了一步是,但不是打印在正確的空間信,程序打印時發生的指數,其中環是目前 – user1413549
在for循環中使用的信一個存儲正確字符串的數組,一個存儲值爲0/1的數組(以檢查該字母是否被猜測),然後是另一個數組來存放打印字符串。 在for循環中,將_和字母複製到第三個數組並打印出來。 例如 我把代碼放到答案中,因爲它看起來不好寫在這裏。 – user1399238