簡體   English   中英

為什么會出現這些語法錯誤?

[英]Why am I getting these syntax errors?

我有以下代碼

        image1.setOnClickListener(new View.OnClickListener() {

        int randInt = new Random().nextDouble() < 0.5 ? 1 : 2;

        if (randInt.equals(1)) {
            public void onClick(View view) {
                if (isFirstImage) {       
                    applyRotation(0, 90);
                    applyRotation(0, 90);
                    isFirstImage = !isFirstImage;

                } else {    
                    applyRotation(0, -90);
                    applyRotation(0, -90);
                    isFirstImage = !isFirstImage;
                }
            }
        } else if (randInt.equals(2)) {
            public void onClick(View view) {
                if (isFirstImage) {       
                    applyRotation(0, 90);
                    applyRotation(0, 90);
                    applyRotation(0, 90);

                    isFirstImage = !isFirstImage;

                } else {    
                    applyRotation(0, -90);
                    applyRotation(0, -90);
                    applyRotation(0, -90);
                    isFirstImage = !isFirstImage;
                }
            }
        }

    }); 

我明顯聲明有“;”的那一行時,在聲明整數的那一行上有一個“語法錯誤,插入“;”以完成語句”。 那里。 我有一些“令牌“(”,:expected“上的語法錯誤,以及”令牌“)”上的語法錯誤“; expected”,其中我有“ public void onClick(View view){”,我有一個“語法錯誤,插入“}”以完成聲明”,但我四處張望,似乎已經關閉了所有聲明。

我認為Eclipse給了我錯誤的錯誤,我嘗試了Project> Clean,但是並不能解決問題。 請幫忙,謝謝!

我認為缺少“;” 錯誤是虛假的。 您真正的問題是如何嘗試聲明onClick偵聽器。 if塊不能包含這樣的方法聲明。 請嘗試以下操作:

image1.setOnClickListener(new View.OnClickListener() {

    int randInt = new Random().nextDouble() < 0.5 ? 1 : 2;

    @Override
    public void onClick(View view) {
        if (randInt == 1) {
            if (isFirstImage) {       
                applyRotation(0, 90);
                applyRotation(0, 90);
            } else {    
                applyRotation(0, -90);
                applyRotation(0, -90);
            }
        } else if (randInt == 2) {
            if (isFirstImage) {       
                applyRotation(0, 90);
                applyRotation(0, 90);
                applyRotation(0, 90);
            } else {    
                applyRotation(0, -90);
                applyRotation(0, -90);
                applyRotation(0, -90);
            }
        }
        isFirstImage = !isFirstImage;
    }
});

這將在將OnClickListener附加到image1時修復randInt 如果您希望每次單擊image1都隨機旋轉,請將randInt的聲明移動為onClick方法本身的第一條語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM