DAY27 第一个完整程序练习,一台计算机!(二)

昨天讲了我的计算机,分别是显示数字与其他比较简单的按钮,今天要讲比较难的部分,啊是对我比较难的部分啦,就是打结很久的地方,如果你有想过怎麽做的话,那来看看我们的想法是否一样吧!
首先我先做一个think方法,通用加减乘除,就让他自己判断。

    public void think(){
        if(record == 0){
            plus = temp;
            num = 0;
            tempplus = plus + num2;
            plus = tempplus;
            num2 = 0;
            temp = plus;
        }else if(record == 1){
            if (temp == 0) {
                negetive = temp;
                num=0;
                tempnegetive = num2;
            }else {
                negetive = temp;
                num = 0;
                tempnegetive = negetive - num2;
            }
            negetive = tempnegetive;
            num2 =0;
            temp = negetive;
        }else if(record == 2){
            if(temp == 0 && num2!=0){
                temp = 1;
            }
            time = temp;
            num = 0;
            if(num2!=0) {
                temptime = time * num2;
            }else {
                temptime = time;
            }
            time = temptime;
            num2 = 0;
            temp = time;
        }else if(record == 3){
            if(temp == 0){
                temp = 1;
                devide = temp;
                num = 0;
                tempdevide = num2 / devide;
            }else {
                devide = temp;
                num = 0;
                tempdevide = devide / num2;
            }
            devide = tempdevide;
            num2 = 0;
            temp = devide;
        }
    }

用record的数字判断刚刚是按哪个运算符号,0是加号,1是减号,2是乘号,3是除号

    public void plus(View view){
        if (record == 5){
            record = 0;
        }
        think();
        recordplus = 0;
        record = 0;
        number.setText( temp+"+");
        warming++;
        warm();
    }

5是起始值,所以会变成0,如果不是5会让think做上个运算符号,再把record变成0,而think会做加号部分,把之前的数字和新抓到的数字num2相加,再把结果存起来,warm的部分之後再讲

    public void negetive(View view){
        if (record == 5){
            record = 1;
        }
        think();
        recordnegetive = 0;
        record = 1;
        number.setText( temp + "-");
        warming++;
        warm();
    }

think里的做法就是,先判断temp是否为0,是就让tempnegetive等於num2,不是就tempnegetive = negetive - num2,最後数字存到temp里。
今天先到这里,明天来讲剩下的东西吧


<<:  切换群集的 context

>>:  [DAY 23] Visualize

Laravel8_多重身份验证(第一部分)

第一部分(建立档案以及设定资料库) composer create-project laravel/...

Dictionary 使用array创建与字典取值

缘由: 在职训时老师讲解语法,讲到Dictionary(字典)时,有一种老师说的我都懂,看起来没什麽...

企划实现(8)

立案流程 第五步: 完成以上步骤後就会有以下8份文件公司名称预查核定书、公司章程、董事愿任核定书、股...

XACML 可扩展存取控制标记语言

-示例 XACML 实现 XACML主要用於授权而不是身份验证。可以实施 PKI 以支持相互身份验...

[iT铁人赛Day7]JAVA阵列(上篇)

好,今天来讲阵列,其实阵列很长一段时间都困扰着我 直到我自己重新看过一遍,才稍微解惑一些 那接下来就...