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

今天我们要来做一个专案,我要做一个计算机,以我们所学的来说技术方面很简单,但逻辑方面会比较难,以我来说要动点脑子烧脑袋,还不一定能做出完美无BUG的情况!
首先先附上我的程序介面
https://ithelp.ithome.com.tw/upload/images/20201011/20130037kzBYKgFcSe.jpg
接着来讲解各个按钮与程序
所有的参数

        TextView number;
        double num;
        double num1;
        double num2 = 0;

        double tempplus;
        double tempnegetive;
        double temptime;
        double tempdevide;
        double temp = 0;

        double plus =0;
        double negetive =0;
        double time = 1;
        double devide = 1;

        int record = 5;
        int recordplus = 1;
        int recordnegetive =1;
        int recordtime = 1;
        int recorddevide =1;

        int warming = 0;

数字与原理

    public void count(){
        num = (num2 * 10)+ num1;
        num2 = num;
        warming = 0;
    }
    public void one(View view){
        num1 = 1;
        count();
        number.setText(num+"");
    }

    public void two(View view){
        num1 = 2;
        count();
        number.setText(num+"");
    }

    public void three(View view){
        num1 = 3;
        count();
        number.setText(num+"");
    }

    public void four(View view){
        num1 = 4;
        count();
        number.setText(num+"");
    }

    public void five(View view){
        num1 = 5;
        count();
        number.setText(num+"");
    }

    public void six(View view){
        num1 = 6;
        count();
        number.setText(num+"");
    }

    public void seven(View view){
        num1 = 7;
        count();
        number.setText(num+"");
    }

    public void eight(View view){
        num1 = 8;
        count();
        number.setText(num+"");
    }

    public void nine(View view){
        num1 = 9;
        count();
        number.setText(num+"");
    }

    public void zero(View view){
        num1 = 0;
        count();
        number.setText(num+"");
    }

按2再按9会变成29,我设计了count方法,count的原理就是,假设我按2,最後num会变成2,再按9,num会变成2X10+9,就会变成29了
接着是AC归零

    public void ac(View view){
        number.setText("0");
         num = 0;
         num1 =0 ;
         num2 = 0;
         temp = 0;
         record = 5;
         recordplus = 1;
         recordnegetive = 1;
         recordtime = 1;
         recorddevide = 1;
         plus = 0;
         negetive = 0;
         time = 0;
         devide = 0;
    }

就把数字变成0,再把参数还原,非常简单
然後是Delete

    public void delete(View view){
        if(num >= 10) {
            num = (num - num1)/ 10;
            num2 = num;
            number.setText(num+"");
        }else if(num > 0){
            num = 0;
            num2 = num;
            number.setText(num+"");
         }
    }

假设要按29按成28,就是让28-8後除以10就是2了,接着再按9就好了
那麽明天再继续讲解其他的按钮吧,大家可以先猜猜我是怎麽设计的,说不定我们想法相同呢!


<<:  JavaScript 之旅 (26):String.prototype.replaceAll()

>>:  微聊 Promise 试做一回

「认知」是你观望世界的窗,不时擦拭,光线才能穿透。

「认知」是你观望世界的窗,不时擦拭,光线才能穿透。 Your assumptions are you...

既熟悉又陌生的字元集与比较规则

我们都知道电脑实际储存的是二进位资料,那是怎麽储存字元的呢? 可以想像的就是必须让字元映射成二进位资...

test

test 这是H4标题 ...

k8s prometheus 监控多个MySql

【YC的寻路青春】 这边我们用的是接线生prometheus-operator的版本 namespa...

Day7 -104. Maximum Depth of Binary Tree

今日题目:104. Maximum Depth of Binary Tree 刚刚在群组看到在讨论 ...