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

📄 mycalculator.java

📁 java编写的计算器程序,界面简单,和windows的计算器界面相近,供初学者使用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
             else if(list.size()==3){
                String dot=".";
                String num=(String)list.getLast();
                String s=null;
                if(num.indexOf(dot)==-1){
                   s=num.concat(dot);
                   list.set(2,s);
                }
                else{
                   s=num;
                }
                answerwindow.setText(s);
             }
          }
          else if(b.getFunction()=="BackSpace"){
             if(list.size()==1){
                String num=(String)list.getFirst();
                if(num.length()>=1){
                   num=num.substring(0,num.length()-1);
                   list.set(0,num);
                   answerwindow.setText(num);
                }
                else{
                   list.removeLast();
                   answerwindow.setText("0");
                }
             }
             else if(list.size()==3){
                String num=(String)list.getLast();
                if(num.length()>=1){
                   num=num.substring(0,num.length()-1);
                   list.set(2,num);
                   answerwindow.setText(num);
                }
             }
          }
          else if(b.getFunction()=="+/-"){
             if(list.size()==1){
                String number1=(String)list.getFirst();
                try{
                   double d=Double.parseDouble(number1);
                   d=-1*d;
                   String str=String.valueOf(d);
                   list.set(0,str);
                   answerwindow.setText(str);
                }catch(Exception ee){}
             }
             else if(list.size()==3){
                String number2=(String)list.getLast();
                try{
                   double d=Double.parseDouble(number2);
                   d=-1*d;
                   String str=String.valueOf(d);
                   list.set(2,str);
                   answerwindow.setText(str);
                }catch(Exception ee){}
             }
          }
          else if(b.getFunction()=="1/x"){
             if(list.size()==1){
                String number1=(String)list.getFirst();
                try{
                   double d=Double.parseDouble(number1);
                   d=1.0/d;
                   String str=String.valueOf(d);
                   list.set(0,str);
                   answerwindow.setText(str);
                }catch(Exception ee){}
             }
             else if(list.size()==3){
                String number2=(String)list.getLast();
                try{
                   double d=Double.parseDouble(number2);
                   d=1.0/d;
                   String str=String.valueOf(d);
                   list.set(0,str);
                   answerwindow.setText(str);
                }catch(Exception ee){}
             }
          }
          else if(b.getFunction()=="C"){
             equalflag=false;
             answerwindow.setText("0");
             list.clear();
          }
          else if(b.getFunction()=="CE"){
             if(list.size()==1){
                answerwindow.setText("0");
                list.clear();
             }
             else if(list.size()==2){
                answerwindow.setText("0"); 
                list.clear();
             }
             else if(list.size()==3){
                list.removeLast();
                answerwindow.setText("0");
             }
          }
          else if(b.getFunction()=="%"){
             if(list.size()==1){
                String number1=(String)list.getFirst();
                try{
                   double d=Double.parseDouble(number1);
                   d=d/100.0;
                   String str=String.valueOf(d);
                   list.set(0,str);
                   answerwindow.setText(str);
                }catch(Exception ee){}
             }
             else if(list.size()==3){
                String number2=(String)list.getLast();
                try{
                   double d=Double.parseDouble(number2);
                   d=d/100.0;
                   String str=String.valueOf(d);
                   list.set(2,str);
                   answerwindow.setText(str);
                }catch(Exception ee){}
             }
          }
          else if(b.getFunction()=="sqrt"){
             if(list.size()==1){
                String number1=(String)list.getFirst();
                try{
                   double d=Double.parseDouble(number1);
                   d=Math.sqrt(d);
                   String str=String.valueOf(d);
                   list.set(0,str);
                   answerwindow.setText(str);
                }catch(Exception ee){}
             }
             else if(list.size()==3){
                String number2=(String)list.getFirst();
                try{
                   double d=Double.parseDouble(number2);
                   d=Math.sqrt(d);
                   String str=String.valueOf(d);
                   list.set(0,str);
                   answerwindow.setText(str);
                }catch(Exception ee){}
             }
          }
         else if(b.getFunction()=="MS"){
            if(list.size()==1 || list.size()==2){
               if(memorylist.size()==1){                                      
                  memorylist.set(0,list.getFirst());
                  tempwindow.setText("M  "+memorylist.getFirst());
               }
               else if(memorylist.size()==0){
                  memorylist.add(list.getFirst());
                  tempwindow.setText("M  "+memorylist.getFirst());
               } 
            }
            else if(list.size()==3){
               if(memorylist.size()==1){
                  memorylist.set(0,list.getLast());
                  tempwindow.setText("M  "+memorylist.getFirst());
               }
               else if(memorylist.size()==0){
                  memorylist.add(list.getFirst());
                  tempwindow.setText("M  "+memorylist.getFirst());
               } 
            }
         }
         else if(b.getFunction()=="MC"){
            if(memorylist.size()==1){
               memorylist.clear();
               tempwindow.setText("");
            }
         }
         else if(b.getFunction()=="M+"){
            if(list.size()==1 || list.size()==2){
               if(memorylist.size()==1){
                  String number1=(String)list.getFirst();
                  double d1=Double.parseDouble(number1);
                  String number2=(String)memorylist.getFirst();
                  double d2=Double.parseDouble(number2);
                  double d3=d2+d1;
                  String str=String.valueOf(d3);
                  memorylist.set(0,str);
                  tempwindow.setText("M  "+str);
               }
               else if(memorylist.size()==0){
                  memorylist.add(list.getFirst());
                  tempwindow.setText("M  "+memorylist.getFirst());
               }
            }
            else if(list.size()==3){
               if(memorylist.size()==1){
                  String number1=(String)list.getLast();
                  double d1=Double.parseDouble(number1);
                  String number2=(String)memorylist.getFirst();
                  double d2=Double.parseDouble(number2);
                  double d3=d2+d1;
                  String str=String.valueOf(d3);
                  memorylist.set(0,str);
                  tempwindow.setText("M  "+str);
               }
               else if(memorylist.size()==0){
                  memorylist.add(list.getLast());
                  tempwindow.setText("M  "+memorylist.getFirst());
               }
            }
            else if(list.size()==0){
               if(memorylist.size()==1){
                  String number=(String)memorylist.getFirst();
                  double d=Double.parseDouble(number);
                  d=d*2;
                  String str=String.valueOf(d);
                  memorylist.set(0,str);
                  tempwindow.setText("M  "+memorylist.getFirst());
               }
            }
         }
         else if(b.getFunction()=="MR"){
            if(memorylist.size()==1){
               if(list.size()==1){
                  String str=(String)memorylist.getFirst();
                  list.set(0,str);
                  answerwindow.setText(str);
               }
               else if(list.size()==2){
                  String str=(String)memorylist.getFirst();
                  list.add(2,str);
                  answerwindow.setText(str);
               }
               else if(list.size()==3){
                  String str=(String)memorylist.getFirst();
                  list.set(2,str);
                  answerwindow.setText(str);
               }
               else if(list.size()==0){
                  String str=(String)memorylist.getFirst();
                  list.add(str);
                  answerwindow.setText(str);
               }
            }
         }
      }
   }
   public static void main(String args[]){
      new MyCalculator();
   }
}

⌨️ 快捷键说明

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