2013-12-19 196 views
-4

我正在製作一個簡單的Java遊戲,名爲21支。在開始時,我想問用戶他/她的名字,所以我可以用他們的名字來引用他們的名字以用於其餘的遊戲。但是,當我使用我的代碼(下面)時,首先input的日食紅色波浪線下面,意思是錯誤。這不是編譯。我試圖用谷歌的方式來解決這個問題,或者如果有更好的方法來做到這一點,但我一無所獲。我試圖更改input至​​,但之後nextLine不起作用。我想知道爲什麼這會顯示爲錯誤,並且是否有更好的方法來詢問用戶的姓名。Java掃描儀輸入錯誤

我的代碼:

import java.util.Scanner; 

public class TwentyOneSticks { 
    public static void main(String[] args) { 
    System.out.println("What is your name?") 
    String userName = input.nextLine() 
    int numofSticks = 21; 
    Scanner input = new Scanner(System.in); 
    Scanner take = new Scanner(System.in); 
    System.out.println("Would you like to go first? (Y/N)"); 
    String goFirst = input.nextLine(); 
+0

好吧,考慮到你試圖在掃描儀存在之前使用掃描儀......這可能是一個問題。 –

+4

@皮塔每個人都必須從某個地方開始。 –

回答

1

嘗試

import java.util.Scanner; 

public class TwentyOneSticks { 
public static void main(String[] args) { 
System.out.println("What is your name?"); 
Scanner input = new Scanner(System.in); <--- moved it here 
String userName = input.nextLine(); 
int numofSticks = 21; 

    //Scanner take = new Scanner(System.in); <-- what is use of this? 
    System.out.println("Would you like to go first? (Y/N)"); 
    String goFirst = input.nextLine(); 

你必須在使用前申報(並初始化)的變量。還有一些分號丟失。

+0

'println'和'nextLine()'後面還有一些分號丟失。 – PakkuDon

+0

哈哈 - 哦,男孩,其中一個 –

+0

@ user2310289謝謝。 'Scanner take = new Scanner(System.in); '是在我的代碼後面的東西,我忘了把它拿出來。 – jtwalsh678