我在用户输入时出现“非法表达式启动”错误

时间:2013-02-26 21:31:44

标签: java

我正在尝试获取用户输入,但是我得到了 illegal start of expression at:

public static String askTheUser() throws IOException

完整代码:

编辑:我已经完成了你们建议的大部分更改,所以现在我有了这个:

import java.io.BufferedReader;

public class Driver
{

public static void main(String[]args)
{
    Dice dice;
    Craps craps;

    userResponse = askTheUser();
    while(userResponse.equalsIgnoreCase("yes"))
    {
        craps = new Craps();
        while(!craps.gameOver())
        {
            craps.roll();
            //print out results of roll
        }
        //print out game results: if(craps.gameWon()...
        userResponse.askTheUser();
    }
}

public static String askTheUser() throws IOException
{
    BufferedReader dataIn = new BufferedReader( new InputStreamReader(System.in) );
    String data;

    System.out.print("Want to play craps? Yes or No");
    data = dataIn.readLine();
    if(data.equals("y") || data.equals("yes"))
    {
        return "yes";
    }
    else
    {
        return "no";
    }
}
}

但是我仍在cannot find symbol获得public static String askTheUser() throws IOException。那么我可能会错过一个我不知道的导入吗?

3 个答案:

答案 0 :(得分:10)

您在主要方法中声明了askTheUser方法。 rip it取消主要方法。

   public static void main(String[]args)
   {
       //code that goes inside main
   }
   public static String askTheUser() throws IOException
   {
       // code that goes in askTheUser
   }

答案 1 :(得分:0)

无法Java内的方法内写入方法。 但是你可以在同一个班级中有很多方法。

为什么呢?由于Java规范......您根本不被允许这样做。

请注意,您可以使用其他方法下的anonymous inner class方法。

答案 2 :(得分:0)

我不认为keyboard.readline()有效吗?

使用:

InputStreamReader converter = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(converter);
in.readLine(); // Convert to string or int needed!