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

📄 calculator.java

📁 上传一个java小程序给大家共享,此程序是一个计算器
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;

public class Calculator extends WindowAdapter implements ActionListener{
    private double result=0,data1=0,radixPointDepth=1;
    private boolean radixPointIndicate=false,resultIndicate=false;
    private char prec='+';
   private Frame f;
   private TextField tf;
   private Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16;
   private Panel p;

   
   static public void main(String args[]){
       
      Calculator de=new Calculator();
      de.go();
   }

   public void go(){

          f=new Frame("Calculator 0.1 by SunYang");

            p=new Panel();
            p.setLayout(new GridLayout(4,4));    
             tf=new TextField(30);
          b1=new Button("7");
             b2=new Button("8");
            b3=new Button("9");
            b4=new Button("+");
             b5=new Button("4");
             b6=new Button("5");
             b7=new Button("6");
             b8=new Button("-");
             b9=new Button("1");
             b10=new Button("2");
             b11=new Button("3");
             b12=new Button("*");
             b13=new Button("0");
             b14=new Button(".");
             b15=new Button("=");
             b16=new Button("/");



            f.add(tf,"North");
            f.add(p,"Center");
    
           p.add(b1);
            p.add(b2);
            p.add(b3);
            p.add(b4);
            p.add(b5);
            p.add(b6);
            p.add(b7);
            p.add(b8);
            p.add(b9);
            p.add(b10);
            p.add(b11);
            p.add(b12);
            p.add(b13);
            p.add(b14);
            p.add(b15);
            p.add(b16);

            b1.addActionListener(this);
            b2.addActionListener(this);
            b3.addActionListener(this);
            b4.addActionListener(this);
            b5.addActionListener(this);
            b6.addActionListener(this);
            b7.addActionListener(this);
            b8.addActionListener(this);
            b9.addActionListener(this);
            b10.addActionListener(this);
            b11.addActionListener(this);
            b12.addActionListener(this);
            b13.addActionListener(this);
            b14.addActionListener(this);
            b15.addActionListener(this);
            b16.addActionListener(this);

        f.addWindowListener(this);        
        f.setSize(300,200);
        f.setVisible(true);
            //f.pack();
   }

   public void actionPerformed(ActionEvent e){


        String s;        
        s=e.getActionCommand();


         switch(s.charAt(0)){
              case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
                    if(resultIndicate){
                      result=0;
                      data1=0;
                      prec='+';

                   }
                  Integer Int1=new Integer(s); 
                    if(radixPointIndicate){
                     radixPointDepth=radixPointDepth/10;
                     data1=data1+(Int1.intValue())*radixPointDepth;
                  }
                  else{
                      data1=data1*10+(Int1.intValue());
                    }
                  Double displayNumber=new Double(data1);
                    tf.setText(displayNumber.toString());
                  resultIndicate=false;
                    break;
            
            case '+': case '-':case '*':case '/':case '=':
                    if(s.charAt(0)!='='&&resultIndicate){
                    prec=s.charAt(0);
                    resultIndicate=false;
                  }
                    else{
                    switch(prec){
                            case '+':
                                result=result+data1;
                                break;
                          case '-':
                              result=result-data1;
                              break;
                           case '*':
                               result=result*data1;
                               break;
                            case '/':
                                result=result/data1;
                                break;
                          
                      }
                    }
                    radixPointIndicate=false;
                    radixPointDepth=1;
                    displayNumber=new Double(result);
                    tf.setText(displayNumber.toString());
                  
                  if(s.charAt(0)!='='){
                      data1=0;
                      prec=s.charAt(0);
                    }  
                    else{
                        resultIndicate=true;
                    }
                    break;

            case '.':
                    radixPointIndicate=true;
                    break;

         }
    
   }

   public void windowClosing(WindowEvent e){
    System.exit(0);
   }
}

⌨️ 快捷键说明

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