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

📄 caculator.java

📁 用java实现计算器
💻 JAVA
字号:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.lang.Math;
public class caculator implements ActionListener  {
	 //定义按钮
	 private double op1;
	 private double op2;
	 private int flag;
	 private String str="";
		 JButton backbutton=new JButton("Backspace");
		               
		 JButton clearbutton=new JButton("Clear");
		
		JButton num0=new JButton("0");
        JButton num1=new JButton("1");
        JButton num2=new JButton("2");
        JButton num3=new JButton("3");
        JButton num4=new JButton("4");
        JButton num5=new JButton("5");
        JButton num6=new JButton("6");
        JButton num7=new JButton("7");
        JButton num8=new JButton("8");
        JButton num9=new JButton("9");
        JButton add=new JButton("+");
        JButton mul =new JButton("*");
        JButton div=new JButton("/");
        JButton sub =new JButton("-");
        JButton equel=new JButton("=");
        JButton point=new JButton(".");
        JButton sqrt=new JButton("sqrt");
        JButton xfall=new JButton("1/x");
        JButton  pingfang=new JButton("x2");
        JButton zhengfu =new JButton("+/-");
        JButton  sin=new JButton("sin");
        JButton  cos=new JButton("cos");
        JButton  tan=new JButton("tan");
        JButton  jiecheng=new JButton("n!");
        JButton  ln=new JButton("ln");
        
        JTextField display=new JTextField(" "); 
       
        JPanel p1,p2,p3;
       public  void go(){//构造函数
    	   
    	JPanel p1=new JPanel (new FlowLayout());
    	 backbutton.addActionListener(this); 
    	p1.add(backbutton);
        clearbutton.addActionListener(this);
    	p1.add(clearbutton);
    	
    	JPanel p2=new JPanel(new GridLayout(2,1));
    	p2.add(display);
    	p2.add(p1);
    	
    	JPanel p3=new JPanel(new GridLayout(5,5));
    	num7.addActionListener(this);
    	num8.addActionListener(this);
    	num9.addActionListener(this);
    	num6.addActionListener(this);
    	num5.addActionListener(this);
    	num4.addActionListener(this);
    	num3.addActionListener(this);
    	num2.addActionListener(this);
    	num1.addActionListener(this);
    	num0.addActionListener(this);
    	equel.addActionListener(this);
    	point.addActionListener(this);
    	sqrt.addActionListener(this);
    	xfall.addActionListener(this);
    	pingfang.addActionListener(this);
    	zhengfu.addActionListener(this);
    	add.addActionListener(this);
    	sub.addActionListener(this);
    	mul.addActionListener(this);
    	div.addActionListener(this);
    	sin.addActionListener(this);
    	cos.addActionListener(this);
    	tan.addActionListener(this);
    	jiecheng.addActionListener(this);
    	ln.addActionListener(this);
    	p3.add(num7);
    	p3.add(num8);
    	p3.add(num9);
    	p3.add(div);
    	p3.add(sqrt);
    	p3.add(num4);
    	p3.add(num5);
    	p3.add(num6);
    	p3.add(mul);
    	p3.add(xfall);
    	p3.add(num1);
    	p3.add(num2);
    	p3.add(num3);
    	p3.add(sub);
    	p3.add(pingfang);
    	p3.add(num0);
    	p3.add(point);
    	p3.add(zhengfu);
    	p3.add(add);
    	p3.add(ln);
    	p3.add(sin);
    	p3.add(cos);
    	p3.add(tan);
    	p3.add(jiecheng);
    	p3.add(equel);
    	
    	JFrame f=new JFrame("简易计算器");
    	f.add(p2,BorderLayout.NORTH);
    	f.add(p3,BorderLayout.SOUTH);
    	f.setVisible(true);
    	f.setSize(200, 200);
    	f.pack();
    	f.setResizable(false);
    	}
    	   
    public static void main( String[] args)
    {
    	caculator k=new caculator();
    	k.go();
    }
    
    public void actionPerformed(ActionEvent e)
    {   if(e.getSource()==clearbutton) 
    	{
    	display.setText(" "); //置0;
    	str="";
    	}
    	if(e.getSource()==backbutton)
    	{//退格
    		String str=display.getText();
    	str=str.substring(0,str.length()-1);
             display.setText(str);
             
    		
    	}
    	if(e.getSource()==num9||e.getSource()==num8||e.getSource()==num7||e.getSource()==num6||e.getSource()==num5||e.getSource()==num4||e.getSource()==num3||e.getSource()==num2||e.getSource()==num1||e.getSource()==num0)
    	{//数字
    		
    		str=display.getText();
    		display.setText(str.concat(e.getActionCommand()).toString()); 
    	 
    	}
    	if(e.getSource()==point)
    	{//小数点
    		if(str=="") display.setText("0.");
    		if(display.getText().indexOf(".")!=-1)return ;//已有小数点
    		else display.setText(display.getText()+".");  //接上point
    		
    
    		}
    		
    	
    	if(e.getSource()==add||e.getSource()==mul||e.getSource()==div||e.getSource()==sub)
    	{//双目运算
    		op1=Double.valueOf(display.getText());
    		str="";
    		display.setText(str);
    		if(e.getSource()==add) flag=1;
    		if(e.getSource()==sub) flag=2;
    		if(e.getSource()==mul) flag=3;
    		if(e.getSource()==div) flag=4;
    	}
    	if(e.getSource()==equel)
    	{//等号
    		if(display.getText()=="") op2=0;
    		else 
    		{ str=display.getText();
    		op2=Double.valueOf(str);
    		}
    		
    		if(flag==1) {op1=op1+op2; display.setText(String.valueOf(op1));}
    		if(flag==2) {op1=op1-op2; display.setText(String.valueOf(op1));}
    		if(flag==3) {op1=op1*op2; display.setText(String.valueOf(op1));}
    		if(flag==4) {op1=op1/op2; display.setText(String.valueOf(op1));}
    	}
    
    	
    	if(e.getSource()==zhengfu)
    	{   Double x=Double.valueOf(display.getText());
    	      x=-x;
    		display.setText(x.toString());	
    	}
    	
    	if(e.getSource()==sqrt)
    	{
    		Double x=Double.valueOf(display.getText());
  	      x=Math.sqrt(x);
  		   display.setText(x.toString());		
    	}
    	
    	if(e.getSource()==xfall)
    	{
    		Double x=Double.valueOf(display.getText());
    	      x=1/x;
    		 display.setText(x.toString());	
    		
    	}

    	if(e.getSource()==pingfang)
    	{
    		Double x=Double.valueOf(display.getText());
    	      x=x*x;
    		 display.setText(x.toString());	
    		
    	}
    	if(e.getSource()==tan)
    	{
    		Double x=Double.valueOf(display.getText());
    		x=Math.PI*x/180;
  	        x=Math.tan(x);
  		   display.setText(x.toString());		
    	}
    	if(e.getSource()==sin)
    	{
    		Double x=Double.valueOf(display.getText());
    		x=Math.PI*x/180;
  	        x=Math.sin(x);
  		   display.setText(x.toString());		
    	}
    	if(e.getSource()==cos)
    	{
    		Double x=Double.valueOf(display.getText());
    		x=Math.PI*x/180;
  	        x=Math.cos(x);
  		   display.setText(x.toString());		
    	}
    	if(e.getSource()==jiecheng)
    	{   int i;
    	    double sum=1;
    		Double x=Double.valueOf(display.getText());
    		for(i=1;i<=x;i++)
    	    sum=sum*i;
    	    x=sum;
    	    display.setText(x.toString());
    	}
    	if(e.getSource()==ln)
    	{
    		Double x=Double.valueOf(display.getText());
  	        x=Math.log(x);
  		   display.setText(x.toString());		
    	}
    	}
    }
    

⌨️ 快捷键说明

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