web-dev-qa-db-ja.com

エラー:「トークンの構文エラー ";" 、、が必要です」なぜですか?

私は今狂っています。これをグーグルで検索して、ある種のIDEバグだと思った。たぶん私は盲目で何かが見えない...しかしこれはほんの1時間前は問題なかった。私はすべてのコードをコメントアウトしたが、それでもコンパイルされません。

public class CityExplorerPoi extends Activity {

private POI displayedPOI = null;
private MediaPlayer mPlayer;
enum audioState {
    Idle,               //Idle, not initialized
    Initialized,        //Initialized, not prepared
    Prepared,           //Prepared
    Started,            //Playing
    Stopped,            //needs preparing
    Paused,             //can be Started or Stopped
    Preparing,          //...
    End,                //Released, useless
    Error,              //...
    PlaybackCompleted   //can be Started from beginning or Stopped
};
audioState aState; <<<<<<<<<<ERROR

mPlayer = new MediaPlayer();
}

このコードには、ERRORとマークされた行にコンパイラエラーがありますトークン ";"の構文エラー、、、予期される

列挙型宣言を使用して、;なしで実行しようとしました。後}。入れてみました;最後のエントリ(PlaybackCompleted)の後、まだ何もありませんか?

何か案は?私が欠けているもの:(

7
Dusko

これが実際の問題です。

mPlayer = new MediaPlayer();

これは単なるステートメントですが、コンストラクター、メソッド、またはその他の初期化子には含まれていません。明確ではありませんなぜ宣言の時点で値を割り当てるだけではありません:

private MediaPlayer mPlayer = new MediaPlayer();

また、列挙型宣言の最後にある冗長なセミコロンを削除することをお勧めします。

16
Jon Skeet

IDEバグではありません。

列挙型の終了}の後にセミコロンがあります。それは必要ありません。

また、メソッドの外部のコードにmPlayer = new MediaPlayer();が浮かんでいます。

このようなJavaに関する良い本を読むことをお勧めします: http://www.Amazon.co.uk/Agile-Java-Crafting-Test-Driven-Development/dp/0131482394

そして、Androidの良い本: http://www.Amazon.co.uk/Android-Application-Development-Dummies-Computers/dp/047077018X/ref=sr_1_1?s=books&ie=UTF8&qid=1333106527&sr=1 -1

4
Ollie C

問題はここにあります。

mPlayer = new MediaPlayer();

宣言の時点で値を割り当てます。ちょうどこのような。

public class CityExplorerPoi extends Activity {

    private POI displayedPOI = null;

    enum audioState {
        Idle,               //Idle, not initialized
        Initialized,        //Initialized, not prepared
        Prepared,           //Prepared
        Started,            //Playing
        Stopped,            //needs preparing
        Paused,             //can be Started or Stopped
        Preparing,          //...
        End,                //Released, useless
        Error,              //...
        PlaybackCompleted   //can be Started from beginning or Stopped
    };
    audioState aState;
    MediaPlayer mPlayer = new MediaPlayer();
}
1
Zaz Gmy