Android设计实现一个简单计算器

记录下自己写的作业
本来是用double类型的,有小数点的功能
但是经过老师的测试bug一堆,所以还是换成int了。
有小数点的有机会在实现吧

注释里面都有,写完我自己都不想看,希望以后还是能规范码字,该写成函数的写成函数

MainActivity

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
   
    final String TAG = "zx";
    //第一个数
    int FirstNum = 0;
    //第二个数
    int SecondNum = 0;
    //结果
    int result = 0;
    EditText editText1 = null;
    EditText editText2 = null;
    String text ="";
    String text2 = "";
    //判断是否是第一个数
    Boolean isFirstNum = true;
    //是否是 + 号
    Boolean isAdd = false;
    //是否是 - 号
    Boolean isMinus = false;
    // 是否是小数
    Boolean isDecimal = false;
    // 是否清屏
    Boolean isClear = true;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText1 = (EditText)findViewById(R.id.editText1);
        editText2 = (EditText)findViewById(R.id.editText2);
    }


    @Override
    public void onClick(View v) {
   
        if (v instanceof Button){
   
            String text = ((Button)v).getText().toString();
            switch (text) {
   
                case "0" :
                    //判断是否需要清屏 如果计算后直接输入+号就不用清屏
                    if (isClear){
   
                        Clear();
                    }
                    //判断是不是第一个数
                    if (isFirstNum){
   
                        //如果等于第一位0则返回
                        if (FirstNum == 0){
   
                            break;
                        }else {
   
                            //不是第一位 则将第一个数×10
                            FirstNum *= 10;
                            text2 += text;
                            editText1.setText(text2);
                        }
                    } else {
   
                        //第二个数 同上
                        if (SecondNum == 0){
   
                            break;
                        }else {
   
                            SecondNum *= 10;
                            text2 += text;
                            editText1.setText(text2);
                        }
                    }
                    break;
                case "1" :
                case "2" :
                case "3" :
                case "4" :
                case "5" :
                case "6" :
                case "7" :
                case "8" :
                case "9" :
                    //判断是否需要清屏
                    if (isClear){
   
                        Clear();
                    
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值