2

ユーザー入力を取得しようとしていますが、次のようになっ illegal start of expression ています。

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ます。それで、私が知らないインポートを見逃している可能性がありますか?

4

3 に答える 3

10

main methodaskTheUser内で methodを宣言しました。メインメソッドから外れます。rip it

   public static void main(String[]args)
   {
       //code that goes inside main
   }
   public static String askTheUser() throws IOException
   {
       // code that goes in askTheUser
   }
于 2013-02-26T21:32:57.670 に答える
0

のメソッド内にメソッドを記述することはできませんJava。ただし、同じクラスに多くのメソッドを含めることができます。

なんで?仕様のためJava..そうすることが許可されていません。

anonymous inner classwith メソッドを別のメソッドの下に持つことができることに注意してください。

于 2013-02-26T21:33:23.630 に答える
0

そして、keyboard.readline() が機能するとは思いませんか?

使用する:

InputStreamReader converter = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(converter);
in.readLine(); // Convert to string or int needed!
于 2013-02-26T21:37:21.730 に答える