【问题标题】:Error while working in Android Studio在 Android Studio 中工作时出错
【发布时间】:2015-10-25 01:40:36
【问题描述】:

这是一个使用Android Studio 为基本计算器编码的应用程序。在编码结束之前有一个错误。我在编码中直接提到了error

能否请大家解释一下这个错误是怎么回事,我该如何纠正它?

package com.example.asish.calculator;
import android.app.Activity;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends Activity {

    Button bone, btwo, bthree, bfour, bfive, bsix, bseven, beight, bnine, bzero, badd, bsub, bmul, bdiv, bclear,
            bce, bequal;
    TextView txt;
    String s = "", s1 = "", s2 = "", s3 = "";
    int i = 0, i1 = 0, c = -1, flag_disable = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        bone = (Button) findViewById(R.id.one);
        btwo = (Button) findViewById(R.id.two);
        bthree = (Button) findViewById(R.id.three);
        bfour = (Button) findViewById(R.id.four);
        bfive = (Button) findViewById(R.id.five);
        bsix = (Button) findViewById(R.id.six);
        bseven = (Button) findViewById(R.id.seven);
        beight = (Button) findViewById(R.id.eight);
        bnine = (Button) findViewById(R.id.nine);
        bzero = (Button) findViewById(R.id.zero);
        bce = (Button) findViewById(R.id.ce);
        bequal = (Button) findViewById(R.id.equals);
        bclear = (Button) findViewById(R.id.clear);
        badd = (Button) findViewById(R.id.plus);
        bsub = (Button) findViewById(R.id.minus);
        bdiv = (Button) findViewById(R.id.division);
        bmul = (Button) findViewById(R.id.multiply);


        bone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"1");
                s = "";
            }
        });
        btwo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"2");
                s = "";
            }
        });
        bthree.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"3");
                s = "";
            }
        });
        bfour.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"4");
                s = "";
            }
        });
        bfive.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"5");
                s = "";
            }
        });
        bsix.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"6");
                s = "";
            }
        });
        bseven.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"7");
                s = "";
            }
        });
        beight.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"8");
                s = "";
            }
        });
        bnine.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+9);
                s = "";
            }
        });
        bzero.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if(s.equals("+")||s.equals("-")||s.equals("/")||s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s+"0");
                s = "";
            }
        });
        badd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tmp = (String) txt.getText();
                if(!tmp.equals("+")&&!tmp.equals("-")&&!tmp.equals("*")&&!tmp.equals("/"))
                    s1=tmp;
                c=0;
                txt.setText("+");
            }
        });
        bsub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tmp = (String) txt.getText();
                if(!tmp.equals("+")&&!tmp.equals("-")&&!tmp.equals("*")&&!tmp.equals("/"))
                    s1=tmp;
                c=2;
                txt.setText("-");
            }
        });
        bmul.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tmp = (String) txt.getText();
                if(!tmp.equals("+")&&!tmp.equals("-")&&!tmp.equals("*")&&!tmp.equals("/"))
                    s1=tmp;
                c=3;
                txt.setText("*");
            }
        });
        bdiv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tmp = (String) txt.getText();
                if(!tmp.equals("+")&&!tmp.equals("-")&&!tmp.equals("*")&&!tmp.equals("/"))
                    s1=tmp;
                c=2;
                txt.setText("/");
            }
        });
        bequal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(s1=="+"||s1=="-"||s1=="/"||s1=="*") {
                    i = 0;
                }
                else if(s1==null|| s1==""||s1.trim().length()==0) {
                    i = i;
                }
                else {
                    i = Integer.parseInt(s1);
                }

                s2 = (String) txt.getText();
                if(s2=="+"||s2=="-"||s2=="/"||s2=="*") {
                    i1 = 0;
                }
                else if(s2==null|| s2==""||s2.trim().length()==0) {
                    i1 = 0;
                }
                else {
                    i1 = Integer.parseInt(s2);
                }

                if(c==0) {
                    i = i + i1;
                }
                else if(c==1) {
                    i = i - i1;
                }
                else if(c==2){
                    if(i1==0) {
                        Toast.makeText(getApplicationContext(), "Invalid Input", Toast.LENGTH_LONG).show();
                        i = 0;
                    }
                    else{
                        i = i / i1;
                    }
                }
                else if(c==3) {
                    i = i * i1;
                }
                else {
                    i = 0;
                }
                txt.setText(i+"");
            }
        });
        bclear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*") || s.equals("")) {
                    i = 0;
                } else {
                    i = Integer.parseInt(s);
                    i = i / 10;
                }
                if (i == 0) {
                    txt.setText("");
                } else {
                    txt.setText(i + "");
                }
                s = null;
            }
        });
        bce.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txt.setText("");
                i = 0;
                i1 = 0;
                s1 = "";
                s2 = "";
                c = -1;
            }
        });
        }
    } --> Error in this line. Error message - Class or interface expected.


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

【问题讨论】:

  • 至少,发布你的堆栈跟踪
  • 检查你的左括号和右括号是否匹配。
  • 尝试删除错误行上的大括号。
  • @ PM 77-1 --> 我猜开始和结束括号是匹配的。你也可以通过它们一次吗?这会有很大帮助。提前致谢。
  • @GregHewgill --> 请直接滚动到最后。您可以看到包含错误的行。谢谢。

标签: java android android-studio android-activity onclick


【解决方案1】:

在您的工具中试用此代码。

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.vcs.YOURPACKAGE.R;(it will be import automatically)


public class MainActivity extends AppCompatActivity {

    Button bone, btwo, bthree, bfour, bfive, bsix, bseven, beight, bnine, bzero, badd, bsub, bmul, bdiv, bclear,
            bce, bequal;
    TextView txt;
    String s = "", s1 = "", s2 = "", s3 = "";
    int i = 0, i1 = 0, c = -1, flag_disable = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        bone = (Button) findViewById(R.id.one);
        btwo = (Button) findViewById(R.id.two);
        bthree = (Button) findViewById(R.id.three);
        bfour = (Button) findViewById(R.id.four);
        bfive = (Button) findViewById(R.id.five);
        bsix = (Button) findViewById(R.id.six);
        bseven = (Button) findViewById(R.id.seven);
        beight = (Button) findViewById(R.id.eight);
        bnine = (Button) findViewById(R.id.nine);
        bzero = (Button) findViewById(R.id.zero);
        bce = (Button) findViewById(R.id.ce);
        bequal = (Button) findViewById(R.id.equals);
        bclear = (Button) findViewById(R.id.clear);
        badd = (Button) findViewById(R.id.plus);
        bsub = (Button) findViewById(R.id.minus);
        bdiv = (Button) findViewById(R.id.division);
        bmul = (Button) findViewById(R.id.multiply);


        bone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "1");
                s = "";
            }
        });
        btwo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "2");
                s = "";
            }
        });
        bthree.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "3");
                s = "";
            }
        });
        bfour.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "4");
                s = "";
            }
        });
        bfive.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "5");
                s = "";
            }
        });
        bsix.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "6");
                s = "";
            }
        });
        bseven.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "7");
                s = "";
            }
        });
        beight.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "8");
                s = "";
            }
        });
        bnine.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + 9);
                s = "";
            }
        });
        bzero.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*")) {
                    txt.setText("");
                    s = "";
                }
                txt.setText(s + "0");
                s = "";
            }
        });
        badd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tmp = (String) txt.getText();
                if (!tmp.equals("+") && !tmp.equals("-") && !tmp.equals("*") && !tmp.equals("/"))
                    s1 = tmp;
                c = 0;
                txt.setText("+");
            }
        });
        bsub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tmp = (String) txt.getText();
                if (!tmp.equals("+") && !tmp.equals("-") && !tmp.equals("*") && !tmp.equals("/"))
                    s1 = tmp;
                c = 2;
                txt.setText("-");
            }
        });
        bmul.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tmp = (String) txt.getText();
                if (!tmp.equals("+") && !tmp.equals("-") && !tmp.equals("*") && !tmp.equals("/"))
                    s1 = tmp;
                c = 3;
                txt.setText("*");
            }
        });
        bdiv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tmp = (String) txt.getText();
                if (!tmp.equals("+") && !tmp.equals("-") && !tmp.equals("*") && !tmp.equals("/"))
                    s1 = tmp;
                c = 2;
                txt.setText("/");
            }
        });
        bequal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (s1 == "+" || s1 == "-" || s1 == "/" || s1 == "*") {
                    i = 0;
                } else if (s1 == null || s1 == "" || s1.trim().length() == 0) {
                    i = i;
                } else {
                    i = Integer.parseInt(s1);
                }

                s2 = (String) txt.getText();
                if (s2 == "+" || s2 == "-" || s2 == "/" || s2 == "*") {
                    i1 = 0;
                } else if (s2 == null || s2 == "" || s2.trim().length() == 0) {
                    i1 = 0;
                } else {
                    i1 = Integer.parseInt(s2);
                }

                if (c == 0) {
                    i = i + i1;
                } else if (c == 1) {
                    i = i - i1;
                } else if (c == 2) {
                    if (i1 == 0) {
                        Toast.makeText(getApplicationContext(), "Invalid Input", Toast.LENGTH_LONG).show();
                        i = 0;
                    } else {
                        i = i / i1;
                    }
                } else if (c == 3) {
                    i = i * i1;
                } else {
                    i = 0;
                }
                txt.setText(i + "");
            }
        });
        bclear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                s = (String) txt.getText();
                if (s.equals("+") || s.equals("-") || s.equals("/") || s.equals("*") || s.equals("")) {
                    i = 0;
                } else {
                    i = Integer.parseInt(s);
                    i = i / 10;
                }
                if (i == 0) {
                    txt.setText("");
                } else {
                    txt.setText(i + "");
                }
                s = null;
            }
        });
        bce.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txt.setText("");
                i = 0;
                i1 = 0;
                s1 = "";
                s2 = "";
                c = -1;
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
            return super.onOptionsItemSelected(item);
    }


}

【讨论】:

    【解决方案2】:

    看来您必须删除您指出错误的括号之一。那应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 2013-05-20
      • 2017-05-28
      • 2017-09-27
      • 2017-07-19
      相关资源
      最近更新 更多