首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 編譯錯誤:Syntax error on token "}", delete this token 解決方案

     編輯:程式設計綜合問答

在 Java 開發中,遇到 Syntax error on token "}", delete this token 錯誤時,往往是因為大括號配對錯誤、多餘或缺失導致。這類錯誤雖然提示刪除該 token,但實際上可能是結構嵌套問題。

錯誤現象

開發者在 Eclipse 中編寫 Android Activity 代碼時,發現類結構末尾的右大括號報錯。代碼結構如下:

public class MainActivity extends ActionBarActivity {
    private ImageButton Imagebutton = null;
    private TextView textView = null;
    private Handler handler = new Handler() {
        public void handleMessage(Message msg) {
            String result = msg.obj.toString();
            textView.setText(result);
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Imagebutton = (ImageButton) findViewById(R.id.button1);
        textView = (TextView) findViewById(R.id.textView2);
        Imagebutton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                new Thread() {
                    public void run() {
                        try {
                            // 算法省略
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }.start();
            }
        });
    }
}

編譯器提示最後一個 } 有語法錯誤,要求刪除。

根本原因分析

經排查,發現是 匿名內部類或方法的大括號嵌套層級不匹配。常見情況包括:

  • 匿名類 new OnClickListener() { ... } 缺少閉合大括號
  • new Thread() { ... } 匿名類結構未正確閉合
  • 方法體與類體的大括號數量不一致

解決步驟

  1. 使用 IDE 的「格式化代碼」功能(Eclipse: Ctrl+Shift+F),自動縮進可快速暴露嵌套錯誤。
  2. 從報錯位置向上逐層檢查每個 { 是否有對應的 }。
  3. 注意匿名內部類結尾需加分號:new Thread() { ... }.start(); 結構完整。
  4. 若仍無法定位,嘗試將可疑代碼剪切到新文件,逐段粘貼測試編譯。

最佳實踐建議

  • 養成寫一對大括號就補全的習慣,避免漏寫。
  • 善用 IDE 的括號匹配高亮功能(點擊一個括號,另一個會高亮)。
  • 代碼過長時,提取方法或內部類,減少嵌套層級。

最終原提問者反饋:「已經解決了~是一些函數寫的地方不對」,確認為大括號嵌套位置錯誤導致。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved