2013-12-19 204 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