【问题标题】:ERROR: "Syntax error on token ";", , expected" Why?错误:“令牌“;”的语法错误,预期“为什么?
【发布时间】:2012-04-14 01:48:43
【问题描述】:

我现在快疯了。谷歌搜索了这个,想到了某种 IDE 错误。也许我是盲人,什么都看不见……但一个小时前还可以。我把所有的代码都注释掉了,还是编译不出来。

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)之后仍然没有???

有什么想法吗?我错过了什么:(

【问题讨论】:

  • 您是否尝试过清理您的项目?

标签: java android eclipse syntax


【解决方案1】:

这是实际的问题:

mPlayer = new MediaPlayer();

这只是一个语句 - 但它不在构造函数、方法或其他初始化程序中。目前还不清楚为什么你不只是在声明时分配一个值:

private MediaPlayer mPlayer = new MediaPlayer();

我还建议删除枚举声明末尾的多余分号。

【讨论】:

    【解决方案2】:

    这不是 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

    【讨论】:

      【解决方案3】:

      问题就在这里。

      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();
      }
      

      【讨论】:

        猜你喜欢
        • 2013-07-16
        • 1970-01-01
        • 1970-01-01
        • 2012-08-02
        • 2021-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多