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

📄 calculatora41.java

📁 用JAVA做的计算器
💻 JAVA
字号:
 import java.awt.*;
 import java.awt.event.*;
import javax.swing.*;
class CalculatorPanel extends Panel implements ActionListener
 {
   public CalculatorPanel()
     { 
     Panel panel1,panel2,panel3,panel4;
     Button buttonBk, buttonCe, buttonC; 
     Button button[];
     Button buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul, 
         buttonDiv, buttonMod; 
     Button buttonSqrt, buttonDao, buttonEqual; 
    
     panel1 = new Panel();
     panel1.setLayout(new BorderLayout());
     display=new TextField("0");
     
     panel1.add(display,"North");
     panel2 =new Panel();
     panel2.setLayout(new BorderLayout());
     panel3 = new Panel();
     panel3.setLayout(new FlowLayout(FlowLayout.RIGHT)); 
     buttonBk = new Button("Backspace");
     buttonCe = new Button("CE");
     buttonC = new Button("C");
     buttonBk.addActionListener(this); 
     buttonCe.addActionListener(this); 
     buttonC.addActionListener(this);
     panel3.add(buttonBk); 
     panel3.add(buttonCe); 
     panel3.add(buttonC);
     panel2.add(panel3, BorderLayout.NORTH); 
     panel1.add(panel2, BorderLayout.CENTER);
     panel4 = new Panel();
     
     panel2.add(panel4, BorderLayout.CENTER);
     button = new Button[10]; 
     for (int i = 0; i < button.length; i++) 
       { 
         button[i] = new Button(Integer.toString(i));
       }
     buttonDot = new Button("."); 
     buttonAddAndSub = new Button("+/-"); 
     buttonAdd = new Button("+"); 
     buttonSub = new Button("-"); 
     buttonMul = new Button("*"); 
     buttonDiv = new Button("/"); 
     buttonMod = new Button("%"); 
     buttonSqrt = new Button("sqrt"); 
     buttonDao = new Button("dao"); 
     buttonEqual = new Button("="); 
     panel4.setLayout(new GridLayout(4, 5,5,5)); 
     panel4.add(button[7]); 
     button[7].addActionListener(this); 
     panel4.add(button[8]); 
     button[8].addActionListener(this); 
     panel4.add(button[9]); 
     button[9].addActionListener(this); 
     panel4.add(buttonDiv); 
     buttonDiv.addActionListener(this); 
     panel4.add(buttonSqrt); 
     buttonSqrt.addActionListener(this); 
     panel4.add(button[4]); 
     button[4].addActionListener(this); 
     panel4.add(button[5]); 
     button[5].addActionListener(this); 
     panel4.add(button[6]); 
     button[6].addActionListener(this); 
     panel4.add(buttonMul); 
     buttonMul.addActionListener(this); 
     panel4.add(buttonMod); 
     buttonMod.addActionListener(this); 
     panel4.add(button[1]); 
     button[1].addActionListener(this); 
     panel4.add(button[2]); 
     button[2].addActionListener(this); 
     panel4.add(button[3]); 
     button[3].addActionListener(this); 
     panel4.add(buttonSub); 
     buttonSub.addActionListener(this); 
     panel4.add(buttonDao); 
     buttonDao.addActionListener(this); 
     panel4.add(button[0]); 
     button[0].addActionListener(this); 
     panel4.add(buttonAddAndSub); 
     buttonAddAndSub.addActionListener(this); 
     panel4.add(buttonDot); 
     buttonDot.addActionListener(this); 
     panel4.add(buttonAdd); 
     buttonAdd.addActionListener(this); 
     panel4.add(buttonEqual); 
     buttonEqual.addActionListener(this); 
     add(panel1);
     }

     public void actionPerformed (ActionEvent e)
        {
         String s=e.getActionCommand();
         if (s.equals("Backspace")) 
           {   
              String st = display.getText();
	      display.setText("");
	      for (int i = 0; i < st.length() - 1; i++) 
                 { 
                    char a = st.charAt(i);
		    display.setText(display.getText() + a);
		 }
    
	   }

	else if (s.equals("CE")) 
            display.setText("");
            
	else if (s.equals("C"))
            display.setText("");
            
        else if('0'<=s.charAt(0) && s.charAt(0)<='9'||s.equals("."))
          {
          if(start)
             {
             display.setText(s);
             }
          else
            
              display.setText(display.getText()+s);
            
             start=false;
          }
          
         else 
           { 
             if(start)
               {
                if(s.equals("+/-"))
                 {
                 display.setText("-");
                 start=false;
                 }
                else
                op=s;
               }
             else
              {
               double x=Double.parseDouble(display.getText());
               calculate(x);
               op=s;
               start=true;
              }
            }
         }
        void calculate(double n)
         { 
           if(op.equals("+"))arg =arg+n;
           else if(op.equals("-"))arg=arg-n;
           else if(op.equals("*"))arg=arg*n;
           else if(op.equals("/"))arg=arg/n;
           else if(op.equals("="))arg=n;
           else if(op.equals("dao"))arg=1/n;
           else if(op.equals("%"))arg=n/100;
           else if(op.equals("sqrt"))arg=java.lang.Math.sqrt(n);
           display.setText(""+arg);
         }
     private  double arg=0;
     private  String op="=";
     private  boolean start = true; 
     private  TextField display;
    }
 
 class CalculatorFrame extends Frame 
   {
      CalculatorFrame()
       {
         MenuBar menubar;
         Menu menu1,menu2,menu3;
         MenuItem item1,item2,item3,item4,item5,item6,item7;
         setTitle("calculator");
         setSize(230,230);
         setResizable(false);
         menubar=new MenuBar();
         menu1=new Menu("编辑(E)");
         item1=new MenuItem("复制(C)Ctrl+C");
         item2=new MenuItem("粘贴(V)Ctrl+V");
         menu2=new Menu("查看(V)");
         item3=new MenuItem("标准型(T)");
         item4=new MenuItem("科学型(S)");
         item5=new MenuItem("数字分组(I)");
         menu3=new Menu("帮助(H)");
         item6=new MenuItem("帮助主题(H)");
         item7=new MenuItem("关于计算器(A)");
         menu1.add(item1);
         menu1.add(item2);
         menu2.add(item3);
         menu2.add(item4); 
         menu2.add(item5);
         menu3.add(item6); 
         menu3.add(item7); 
         menubar.add(menu1);
         menubar.add(menu2);
         menubar.add(menu3);
         setMenuBar(menubar);
         addWindowListener(new WindowDestroyer());
         setVisible(true);
         CalculatorPanel pn=new CalculatorPanel();
        
         add(pn);
         validate();
      }
      class WindowDestroyer extends WindowAdapter {
		public void windowClosing(WindowEvent e) {
			System.exit(0);
		}
    }
}
       public class Calculatora41
        {
          public static void main(String args[])
           {
            CalculatorFrame frame =new CalculatorFrame();
             
            }
        }  
      

 

⌨️ 快捷键说明

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