⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculator.java

📁 一个用Java写的计算器程序。由于初次用做Java做程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                                }//按下“=”计算完毕                                                }                    }            }        }                                                        else{//计算器的初值不为0            if(t==1){//若没按下点号,即进行整数的运算                if(back(e)==10)                    t=0;                else{                    if(back(e)!=15){//没有按下“=”                        if(!((back(e)==11)||(back(e)==12)||(back(e)==13)||(back(e)==14))){//不是"+","-","*","/"                            data[0]=data[0]*10+back(e);                            tf.setText(""+data[0]);                            }                        else{//如果按了“/” 注意除数不能为0                            if(data[1]==0){// 放如data[1]里                                data[1]=data[0];                                data[0]=0;                                simple[0]=back(e);                                }                            else if(data[1]!=0&&data[2]==0){//放如data[2]里                                data[2]=data[0];                                data[0]=0;                                simple[1]=back(e);                            }                            else{//放如data[3]里                                data[3]=data[0];                                data[0]=0;                            }                        }                    }                    else{//按下“=”计算完毕                        if(data[0]!=0){//把最后一个数字写入data数组中                            if(data[1]==0){                            data[1]=data[0];                            data[0]=0;                            }                            else if(data[0]!=0&&data[1]!=0&&data[2]==0){                                data[2]=data[0];                                data[0]=0;                                                            }                            else{                                data[3]=data[0];                                data[0]=0;                            }                        tf.setText(""+calculator());                        data[0]=calculator();                        data[1]=data[2]=data[3]=0;                        simple[0]=simple[1]=11;                        }                        else{                            tf.setText(""+calculator());                            data[0]=calculator();                            data[1]=data[2]=data[3]=0;                            simple[0]=simple[1]=11;                                   }//按下“=”计算完毕                                            }                }            }            else{//开始计算按下.号,即进行浮点数运算                                   if(back(e)!=15){//没有按下“=”                        if(!((back(e)==11)||(back(e)==12)||(back(e)==13)||(back(e)==14))){//不是"+","-","*","/"                            if(back(e)==10){                                t=0;                            }                            else{                                k=back(e);                                j++;                            }                            for(int i=j;i>0;i--){                                k=(double)k/10;                            }                            data[0]+=k;                            tf.setText(""+data[0]);                        }                        else{//如果按了“/” 注意除数不能为0                            t=1;//恢复为整数,并且计数器清零                            j=0;                            if(data[1]==0){// 放如data[1]里                                data[1]=data[0];                                data[0]=0;                                simple[0]=back(e);                                }                            else if(data[1]!=0&&data[2]==0){//放如data[2]里                                data[2]=data[0];                                data[0]=0;                                simple[1]=back(e);                            }                            else{//放如data[3]里                                data[3]=data[0];                                data[0]=0;                            }                        }                    }                    else{//按下“=”计算完毕                        t=1;//恢复为整数,并且计数器清零                        j=0;                                                if(data[0]!=0){//把最后一个数字写入data数组中                            if(data[1]==0){                            data[1]=data[0];                            data[0]=0;                            }                            else if(data[0]!=0&&data[1]!=0&&data[2]==0){                                data[2]=data[0];                                data[0]=0;                                                            }                            else{                                data[3]=data[0];                                data[0]=0;                            }                        tf.setText(""+calculator());                        data[0]=calculator();                        data[1]=data[2]=data[3]=0;                        simple[0]=simple[1]=11;                        }                        else{                            tf.setText(""+calculator());                            data[0]=calculator();                            data[1]=data[2]=data[3]=0;                            simple[0]=simple[1]=11;                                                     }//按下“=”计算完毕                    }            }        }    }    protected int back(ActionEvent e){//返回按键类型        if(e.getActionCommand()=="0")            return 0;        else if(e.getActionCommand()=="1")            return 1;        else if(e.getActionCommand()=="2")            return 2;        else if(e.getActionCommand()=="3")            return 3;        else if(e.getActionCommand()=="4")            return 4;        else if(e.getActionCommand()=="5")            return 5;        else if(e.getActionCommand()=="6")            return 6;        else if(e.getActionCommand()=="7")            return 7;        else if(e.getActionCommand()=="8")            return 8;        else if(e.getActionCommand()=="9")            return 9;        else if(e.getActionCommand()==".")            return 10;//定义“.” 返回10        else if(e.getActionCommand()=="+")            return 11;//定义“+” 返回11        else if(e.getActionCommand()=="-")            return 12;//定义“-” 返回12        else if(e.getActionCommand()=="*")            return 13;//定义“*” 返回13        else if(e.getActionCommand()=="/")            return 14;//定义“/” 返回14        else            return 15;//定义“=” 返回15    }        protected double calculator(){//具体计算        if(simple[0]==11){//第一位运算为“+”            if(simple[1]==11){                return data[0]=data[1]+data[2]+data[3];            }            else if(simple[1]==12){                return data[0]=data[1]+data[2]-data[3];            }            else if(simple[1]==13){                return data[0]=data[1]+data[2]*data[3];            }            else                return data[0]=data[1]+data[2]/data[3];        }        else if(simple[0]==12){//第一位运算为“-”            if(simple[1]==11){                return data[0]=data[1]-data[2]+data[3];            }            else if(simple[1]==12){                return data[0]=data[1]-data[2]-data[3];            }            else if(simple[1]==13){                return data[0]=data[1]-data[2]*data[3];            }            else                return data[0]=data[1]-data[2]/data[3];        }        else if(simple[0]==13){//第一位运算为“*”            if(simple[1]==11){                return data[0]=data[1]*data[2]+data[3];            }            else if(simple[1]==12){                return data[0]=data[1]*data[2]-data[3];            }            else if(simple[1]==13){                return data[0]=data[1]*data[2]*data[3];            }            else                return data[0]=data[1]*data[2]/data[3];        }        else{//第一位运算为“/”            if(simple[1]==11){                return data[0]=data[1]/data[2]+data[3];            }            else if(simple[1]==12){                return data[0]=data[1]/data[2]-data[3];            }            else if(simple[1]==13){                return data[0]=data[1]/data[2]*data[3];            }            else                return data[0]=data[1]/data[2]/data[3];        }           }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -