final int MAX_ROUNDS = 5;
String name1,name1;
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter player1 name: ");
name1 = keyboard.nextLine();
System.out.println("Please enter player2 name: ");
name2 = keyboard.nextLine();
Player player1 = new Player(name1);
Player player2 = new Player(name2);
Dealer dealer = new Dealer();
for(int count = 1; count <=MAX_ROUNDS; count++)
{
System.out.println("------------------");
System.out.ptintf("Round : %d",count);
dealer.rollDice();
player1.makeGuess();
player2.makeGuess();
roundResults();
摘錄自屬於Player類的makeGuess方法。是否可以在Java中的方法內聲明一個掃描器變量來讀取鍵盤輸入?
public void makeGuess()
{
Scanner keyboard = new Scanner(System.in)
System.out.printf("Please guess 'even' or 'odd' "+
"%s.", name);
String answer = keyboard.nextLine();
if(answer.equalsIgnoreCase("even")
guess = "Cho (even)";
else
guess = "Han (odd);
}
當方法執行時我沒有被提示任何東西我不明白爲什麼我沒有包含程序的所有內容。只是想知道如果任何人眼睛這個代碼可以看到明顯的東西,否則,我會拿出猜測提交。
你確定你正在運行已編譯的東西嗎?在makeGuess函數中,如果檢查答案的話會有一個缺失)。 –
無論如何,你不應該在每種方法中創建一個掃描儀。創建一次掃描程序並將其作爲參數傳遞給需要它的方法。 –
是的,我在程序執行前修復了缺失的花括號。所以在這些情況下,我應該將Scanner對象傳遞給方法。我只需要一個import語句,然後在我的主類中創建對象,然後將其傳遞給makeguess方法。感謝你的幫助與東西。仍然沒有提示我輸入我會嘗試一些事情。 – needyPheonix