为了账号安全,请及时绑定邮箱和手机立即绑定

等号 点击没反应,请解答谢谢!

package com.example.demo;



import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;



public class MainActivity extends Activity implements android.view.View.OnClickListener{

     

    

Button btn_0;//0按钮

Button btn_1;//1按钮

Button btn_2;//2按钮

Button btn_3;//3按钮

Button btn_4;//4按钮

Button btn_5;//5按钮

Button btn_6;//6按钮

Button btn_7;//7按钮

Button btn_8;//8按钮

Button btn_9;//9按钮

Button btn_point;//.按钮

Button btn_cleaner;//清除按钮

Button btn_del;//删除按钮

Button btn_jia;

Button btn_jian;

Button btn_cheng;

Button btn_chu;

Button btn_dengyu;

EditText et_input;

boolean clear_flag;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        btn_0=(Button) findViewById(R.id.ling);

        btn_1=(Button) findViewById(R.id.yi);

        btn_2=(Button) findViewById(R.id.er);

        btn_3=(Button) findViewById(R.id.san);

        btn_4=(Button) findViewById(R.id.si);

        btn_5=(Button) findViewById(R.id.wu);

        btn_6=(Button) findViewById(R.id.liu);

        btn_7=(Button) findViewById(R.id.seven);

        btn_8=(Button) findViewById(R.id.eight);

        btn_9=(Button) findViewById(R.id.night);

        btn_point=(Button) findViewById(R.id.dian);

        btn_cleaner=(Button) findViewById(R.id.cleaner);

        btn_del=(Button) findViewById(R.id.del);

        btn_jia=(Button) findViewById(R.id.jiahao);

        btn_jian=(Button) findViewById(R.id.jianhao);

        btn_cheng=(Button) findViewById(R.id.chenghao);

        btn_chu=(Button) findViewById(R.id.chuhao);

        btn_dengyu=(Button) findViewById(R.id.dengyu);

        et_input=(EditText) findViewById(R.id.et_input);

        

        btn_0.setOnClickListener(this);

        btn_1.setOnClickListener(this);

        btn_2.setOnClickListener(this);

        btn_3.setOnClickListener(this);

        btn_4.setOnClickListener(this);

        btn_5.setOnClickListener(this);

        btn_6.setOnClickListener(this);

        btn_7.setOnClickListener(this);

        btn_8.setOnClickListener(this);

        btn_9.setOnClickListener(this);

        btn_point.setOnClickListener(this);

        btn_cleaner.setOnClickListener(this);

        btn_del.setOnClickListener(this);

        btn_jia.setOnClickListener(this);

        btn_jian.setOnClickListener(this);

        btn_cheng.setOnClickListener(this);

        btn_chu.setOnClickListener(this);

        btn_dengyu.setOnClickListener(this);

    }


@Override

public void onClick(View v) {

String str = et_input.getText().toString();

switch (v.getId()) {

case R.id.ling:

case R.id.yi:

case R.id.er:

case R.id.san:

case R.id.si:

case R.id.wu:

case R.id.liu:

case R.id.seven:

case R.id.eight:

case R.id.night:

case R.id.dian:

if(clear_flag){

clear_flag = false;

str ="";

et_input.setText("");

}

et_input.setText(str+((Button)v).getText());

break;

case R.id.jiahao:

case R.id.jianhao:

case R.id.chenghao:

case R.id.chuhao:

if(clear_flag){

clear_flag = false;

et_input.setText("");

}

et_input.setText(str+" "+((Button)v).getText()+" ");

break;

case R.id.del:

if(clear_flag){

clear_flag = false;

et_input.setText("");

}else if(str!=null&&!str.equals("")){

et_input.setText(str.subSequence(0, str.length()-1));

}

break;

case R.id.cleaner:

clear_flag = false;

et_input.setText("");

break;

case R.id.dengyu:

break;

}

}

private void getResult(){

String exp = et_input.getText().toString();

if(exp==null||exp.equals("")){

return;

}

if(!exp.contains(" ")){

return;

}

if(clear_flag){

clear_flag = false;

return;

}

clear_flag=true;

double result = 0;

String s1 =exp.substring(0, exp.indexOf(""));

String op=exp.substring(exp.indexOf(" ")+1, exp.indexOf(" ")+2);

String s2 = exp.substring(exp.indexOf(" ")+3);

double d1 =Double.parseDouble(s1);

double d2 =Double.parseDouble(s2);

if(op.equals("+")){

result = d1 +d2;

}else if(op.equals("-")){

result = d1 - d2;

}else if(op.equals("×")){

result = d1*d2;

}else if(op.equals("÷")){

if(d2==0){

result =0;

}else{

result = d1/d2;

}


if(!s1.contains(".")&&!s2.contains(".")){

int r = (int) result ;

et_input.setText(r+"");

}else{

et_input.setText(result+"");

}

}

else if(!s1.equals("")&&s2.equals("")){

et_input.setText( exp);

          }else if(s1.equals("")&&!s2.equals("")){

         if(op.equals("+")){

      result = 0 +d2;

      }else if(op.equals("-")){

      result = 0 - d2;

      }else if(op.equals("×")){

      result = 0;

      }else if(op.equals("÷")){

      if(d2==0){

      result =0;

      }else{

      result =0;

      }


     

      if(!s1.contains(".")&&!s2.contains(".")){

      int r = (int) result ;

      et_input.setText(r+"");

      }else{

      et_input.setText(result+"");

      };

          }else if(s1.equals("")&&s2.equals("")){

         et_input.setText(""); 

          }

}

}

}


正在回答

4 回答

你的if语句嵌套肯定混乱了,好好整理一下

0 回复 有任何疑惑可以回复我~

package com.example.xiuxiukeji.jisuanqi;

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements View.OnClickListener{
   Button btn_0,btn_1,btn_2,btn_3,btn_4,btn_5,btn_6,btn_7,btn_8,btn_9,btn_del,btn_clear,btn_divide,btn_multiply,btn_minus,btn_plus,btn_dian,btn_equal;
   EditText input;
   boolean clear_flag;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       btn_0=(Button)findViewById(R.id.btn_0);
       btn_1=(Button)findViewById(R.id.btn_1);
       btn_2=(Button)findViewById(R.id.btn_2);
       btn_3=(Button)findViewById(R.id.btn_3);
       btn_4=(Button)findViewById(R.id.btn_4);
       btn_5=(Button)findViewById(R.id.btn_5);
       btn_6=(Button)findViewById(R.id.btn_6);
       btn_7=(Button)findViewById(R.id.btn_7);
       btn_8=(Button)findViewById(R.id.btn_8);
       btn_9=(Button)findViewById(R.id.btn_9);
       btn_del=(Button)findViewById(R.id.btn_del);
       btn_clear=(Button)findViewById(R.id.btn_clear);
       btn_divide=(Button)findViewById(R.id.btn_divide);
       btn_multiply=(Button)findViewById(R.id.btn_multiply);
       btn_minus=(Button)findViewById(R.id.btn_minus);
       btn_plus=(Button)findViewById(R.id.btn_plus);
       btn_dian=(Button)findViewById(R.id.btn_dian);
       btn_equal=(Button)findViewById(R.id.btn_equal);
       input=(EditText)findViewById(R.id.input);

       btn_0.setOnClickListener(this);
       btn_1.setOnClickListener(this);
       btn_2.setOnClickListener(this);
       btn_3.setOnClickListener(this);
       btn_4.setOnClickListener(this);
       btn_5.setOnClickListener(this);
       btn_6.setOnClickListener(this);
       btn_7.setOnClickListener(this);
       btn_8.setOnClickListener(this);
       btn_9.setOnClickListener(this);
       btn_del.setOnClickListener(this);
       btn_divide.setOnClickListener(this);
       btn_dian.setOnClickListener(this);
       btn_clear.setOnClickListener(this);
       btn_minus.setOnClickListener(this);
       btn_multiply.setOnClickListener(this);
       btn_equal.setOnClickListener(this);
       btn_plus.setOnClickListener(this);
   }

   @Override
   public void onClick(View view) {
       String string = input.getText().toString();
       switch (view.getId()){
           case R.id.btn_0:
           case R.id.btn_1:
           case R.id.btn_2:
           case R.id.btn_3:
           case R.id.btn_4:
           case R.id.btn_5:
           case R.id.btn_6:
           case R.id.btn_7:
           case R.id.btn_8:
           case R.id.btn_9:
           case R.id.btn_dian:
               if (clear_flag){
                   clear_flag=false;
                   string="";
                   input.setText("");
               }
               input.setText(string+((Button)view).getText());
               break;
           case R.id.btn_plus:
           case R.id.btn_minus:
           case R.id.btn_multiply:
           case R.id.btn_divide:
               if (clear_flag){
                   clear_flag=false;
                   string="";
                   input.setText("");
               }
               input.setText(string+" "+((Button)view).getText()+" ");
               break;
           case R.id.btn_del:
               if (clear_flag){
                   clear_flag=false;
                   string="";
                   input.setText("");
               }else if (string!=null&&!string.equals("")){
                   input.setText(string.substring(0,string.length()-1));
               }
               break;
           case R.id.btn_clear:
               clear_flag=false;
               string="";
               input.setText("");
               break;
           case R.id.btn_equal:
               getResult();
               break;
       }
   }
   private void getResult(){
       String exp=input.getText().toString();
       if (exp==null||exp.equals("")){
           return;
       }
       if (!exp.contains(" ")){
           return;
       }
       if (clear_flag){
           clear_flag=false;
           return;
       }
       clear_flag=true;
       double result=0;
       String s1=exp.substring(0,exp.indexOf(" "));
       String op=exp.substring(exp.indexOf(" ")+1,exp.indexOf(" ")+2);
       String s2=exp.substring(exp.indexOf(" ")+3);
       if (!s1.equals("")&&!s2.equals("")){
           double d1=Double.parseDouble(s1);
           double d2=Double.parseDouble(s2);
           if (op.equals("+")){
               result=d1+d2;
           }else if (op.equals("-")){
               result=d1-d2;
           }else if (op.equals("×")){
               result=d1*d2;
           }else if (op.equals("÷")){
               if (d2==0){
                   result=0;
               }else {
                   result=d1/d2;
               }
           }
           if (!s1.contains(".")&&!s2.contains(".")&&!op.equals("÷")){
               int r = (int)result;
               input.setText(r+"");
           }else {
               input.setText(result+"");
           }

       }else if (!s1.equals("")&&s2.equals("")){
           input.setText(exp);
       }else if (s1.equals("")&&!s2.equals("")){
           double d2 = Double.parseDouble(s2);
           if (op.equals("+")){
               result=0+d2;
           }else if (op.equals("-")){
               result=0-d2;
           }else if (op.equals("×")){
               result=0;
           }else if (op.equals("÷")){
                   result=0;
           }
               if (!s2.contains(".")){
                   int r=(int)result;
                   input.setText(r+"");
               }else {
                   input.setText(result+"");
               }

           }else {
               input.setText("");
       }
   }
}




照我的来,保证可以解决你问题

0 回复 有任何疑惑可以回复我~

case R.id.dengyu:


break;

中间加上getResult();

不然等于没有调用

0 回复 有任何疑惑可以回复我~

其中private void getResult(){,提示The method getResult() from the type MainActivity is never used locally

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312584    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

等号 点击没反应,请解答谢谢!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信