1. ホーム
  2. java

[解決済み] ERROR: "Syntax error on token ";", , expected" なぜですか?

2022-02-05 10:56:09

質問

私は今、気が狂いそうです。IDEのバグかと思い、ググってみました。私は盲目で何も見えていないのかもしれませんが...これはほんの1時間前にはOKでした。すべてのコードをコメントアウトしても、コンパイルできません。

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 でマークされた行に次のようなコンパイラーエラーがあります。 トークン ";" で構文エラー。

enum宣言では、}の後に;を付けずに行ってみました。最後の項目(PlaybackCompleted)の後に;をつけてみましたが、やはりダメでした?

何かアイデアはありますか?何が足りないんだろう :(

解決方法は?

これが実際の問題点です。

mPlayer = new MediaPlayer();

これは単なるステートメントですが、コンストラクタやメソッドなどのイニシャライザの中にはありません。それは明確ではありません なぜ 宣言の時点で値を代入しないのです。

private MediaPlayer mPlayer = new MediaPlayer();

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