简单的计算器有多个操作 - 机器人 [英] Simple Calculator with multiple operations - Android

查看:154
本文介绍了简单的计算器有多个操作 - 机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个简单的计算器,计算两个输入(例如,2 + 2 = 4)。我想现在要做的就是让应用程序来计算像多个操作(例如2 + 2 * 4 - 1 = 15)。有人可以帮助我与我的code?这是我的code。

 公共类MainActivity延伸活动{

公共字符串str =;

 字符运算=Q;
 INT I,NUM,numtemp;
    的EditText showResult;
    字符串displayStr =;
    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);


        。this.getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

        showResult =(EditText上)findViewById(R.id.result_id);


    }
      公共无效btn1Clicked(视图v){
       插入(1);

      }

 公共无效btn2Clicked(视图v){
       插入(2);

      }
      公共无效btn3Clicked(视图v){
       插入(3);

      }
      公共无效btn4Clicked(视图v){
       插入(4);

      }
      公共无效btn5Clicked(视图v){
       插入(5);

      }
      公共无效btn6Clicked(视图v){
       插入(6);
      }
      公共无效btn7Clicked(视图v){
       插入(7);

      }
      公共无效btn8Clicked(视图v){
       插入(8);

      }
      公共无效btn9Clicked(视图v){
       插入(9);

      }

      公共无效btn0Clicked(视图v){
           插入(0);

          }


      公共无效btnplusClicked(视图v){
       执行();
       运算=+;
       displayStr + =+;
      }

 公共无效btnminusClicked(视图v){
     执行();
        运算=' - ';
        displayStr + = - ;

      }
      公共无效btndivideClicked(视图v){
       执行();
       运算='/';
       displayStr + =/;
      }
      公共无效btnmultiClicked(视图v){
       执行();
       运算='*';
       displayStr + =*;
      }
      公共无效btnequalClicked(视图v){
       计算();

      }

 公共无效btnclearClicked(视图v){
       复位();
      }
      私人无效复位(){
  // TODO自动生成方法存根
   海峡=;
   运算=Q;
   NUM = 0;
   numtemp = 0;
   displayStr =;
   showResult.setText();
 }
 私人无效插入(诠释J){
    // TODO自动生成方法存根
       海峡= STR + Integer.toString(J);
       NUM = Integer.valueOf(STR).intValue();

       displayStr + = Integer.toString(J);
       showResult.setText(displayStr);

   }
      私人无效执行(){
    // TODO自动生成方法存根
    海峡=;
    numtemp = NUM​​;
   }
      私人无效计算(){
    // TODO自动生成方法存根
        串首先=将String.valueOf(numtemp);
     字符串秒=将String.valueOf(NUM);

          如果(OP =='+')
     NUM = numtemp + NUM;
    否则,如果(OP ==' - ')
     NUM = numtemp-NUM;
    否则,如果(OP =='/')
     NUM = numtemp / NUM;
    否则,如果(OP =='*')
     NUM = numtemp * NUM;
showResult.setText(第一+ OP +二+=+ NUM);
   }

}
 

解决方案

使用一些堆栈操作。
可能是下面的链接将帮助你。

http://innovativenetsolutions.com/2013/01/calculator-app/
http://www.androiddom.com/2011/04/creating -Android-计算器tutorial.html

I have created a simple calculator that calculates two inputs (ex. 2 + 2 = 4). What I want to do now is to make the app to calculate multiple operations like (ex. 2 + 2 * 4 - 1 = 15). Can someone help me with my code? Here is my code.

public class MainActivity extends Activity {

public String str ="";

 Character op = 'q';
 int i,num,numtemp;
    EditText showResult;
    String displayStr = "";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

        showResult = (EditText)findViewById(R.id.result_id);


    }
      public void btn1Clicked(View v){
       insert(1);

      }

 public void btn2Clicked(View v){
       insert(2);

      }
      public void btn3Clicked(View v){
       insert(3);

      }
      public void btn4Clicked(View v){
       insert(4);

      }
      public void btn5Clicked(View v){
       insert(5);

      }
      public void btn6Clicked(View v){
       insert(6);
      }
      public void btn7Clicked(View v){
       insert(7);

      }
      public void btn8Clicked(View v){
       insert(8);

      }
      public void btn9Clicked(View v){
       insert(9);

      }

      public void btn0Clicked(View v){
           insert(0);

          }


      public void btnplusClicked(View v){
       perform();
       op = '+';
       displayStr += "+";
      }

 public void btnminusClicked(View v){
     perform();
        op = '-';
        displayStr += "-";    

      }
      public void btndivideClicked(View v){
       perform();
       op = '/';
       displayStr += "/";
      }
      public void btnmultiClicked(View v){
       perform();
       op = '*';
       displayStr += "*";
      }
      public void btnequalClicked(View v){
       calculate();

      }

 public void btnclearClicked(View v){
       reset();
      }
      private void reset() {
  // TODO Auto-generated method stub
   str ="";
   op ='q';
   num = 0;
   numtemp = 0;
   displayStr = "";
   showResult.setText("");
 }
 private void insert(int j) {
    // TODO Auto-generated method stub
       str = str+Integer.toString(j);
       num = Integer.valueOf(str).intValue();

       displayStr += Integer.toString(j); 
       showResult.setText(displayStr);

   }
      private void perform() {
    // TODO Auto-generated method stub
    str = "";
    numtemp = num;
   }
      private void calculate() {
    // TODO Auto-generated method stub
        String first=String.valueOf(numtemp);
     String second=String.valueOf(num);

          if(op == '+')
     num = numtemp+num;
    else if(op == '-')
     num = numtemp-num;
    else if(op == '/')
     num = numtemp/num;
    else if(op == '*')
     num = numtemp*num;
showResult.setText(first+op+second+"="+num);
   }

}

解决方案

Use some stack operations.
May be the below links will helpful to you.

http://innovativenetsolutions.com/2013/01/calculator-app/
http://www.androiddom.com/2011/04/creating-android-calculator-tutorial.html

这篇关于简单的计算器有多个操作 - 机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆