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

📄 calc1.java

📁 JAVA计算器
💻 JAVA
字号:
//**************************************************************//
//This calculator was built from scratch by Boris Thummel without any                      //							                //
//copying or pasting from existing calculator applets!!!		                //
//							                //
//**************************************************************//

import java.awt.*;
import java.awt.event.*;
import java.applet.*;



public class Calc1 extends Applet
{
  
    private NumPanel  nums;        
    private OperationPanel myoperation;       
    static TextField   display;       
    static String s = new String();	


   
	
    
    public void init()
    {
        setLayout(new BorderLayout());
        setBackground(new Color(105,105,105));

        myoperation = new OperationPanel();
        myoperation.setFont(new Font("SansSerif", Font.BOLD, 14));
        add(BorderLayout.EAST, myoperation);
		
        nums = new NumPanel();
        nums.setFont(new Font("SansSerif", Font.BOLD, 14));        
        add(BorderLayout.WEST, nums);

        display = new TextField();
        display.setEditable(false);
        display.setBackground(Color.yellow);
        display.setFont(new Font("SansSerif", Font.BOLD, 14));
        add(BorderLayout.NORTH, display);				
    }
	
}





class NumPanel extends Panel implements ActionListener
{
     static boolean point = false;
     static short count = 0;
      private Button b0 = new Button(" 7 "),
      b1 = new Button(" 8 "),
      b2 = new Button(" 9 "),
      b3 = new Button(" 4 "),
      b4 = new Button(" 5 "),
      b5 = new Button(" 6 "),
      b6 = new Button(" 1 "),
      b7 = new Button(" 2 "),
      b8 = new Button(" 3 "),
      b9 = new Button(" 0 "),
      bpoint = new Button(" . ");
     
    public NumPanel()
    {
       b0.addActionListener(this);
       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);
       bpoint.addActionListener(this);
       
       Panel p1 = new Panel();
       p1.setLayout(new GridLayout(4,3,10,10));
       p1.add(b0);
       p1.add(b1);
       p1.add(b2);
       p1.add(b3);
       p1.add(b4);
       p1.add(b5);
       p1.add(b6);
       p1.add(b7);
       p1.add(b8);
       p1.add(b9);
       p1.add(bpoint);
       add(p1);
       
    }
    
    public void actionPerformed(ActionEvent e)
    {

    	Object source = e.getSource();
    	
    	if (source==b0)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 7;
    		Calc1.display.setText(Calc1.s);
    	}
    	
    	else if (source == b1)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 8;
    		Calc1.display.setText(Calc1.s);
    			
    	}
    	else if (source == b2)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 9;
    		Calc1.display.setText(Calc1.s);
    			
    	}
    	else if (source == b3)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 4;
    		Calc1.display.setText(Calc1.s);
    			
    	}
    	else if (source == b4)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 5;
    		Calc1.display.setText(Calc1.s);
    			
    	}
    	else if (source == b5)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 6;
    		Calc1.display.setText(Calc1.s);
    			
    	}
    	else if (source == b6)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 1;
    		Calc1.display.setText(Calc1.s);
    			
    	}
    	else if (source == b7)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 2;
    		Calc1.display.setText(Calc1.s);
    			
    	}
    	else if (source == b8)
    	{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 3;
    		Calc1.display.setText(Calc1.s);
    			
    	}
    	else if (source == b9)
    	{
    		if (count ==0)
    		{
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ "0.";
    		Calc1.display.setText(Calc1.s);
    		count++;
    		}
    		else
    		{
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ 0;
    		Calc1.display.setText(Calc1.s);
    		count++;
    		}
    	}
    	
    	else if (source == bpoint)
    	{
    		if (point == false)
    		{
    		count++;
    		Calc1.s= Calc1.display.getText();
    		Calc1.s= Calc1.s+ ".";
    		Calc1.display.setText(Calc1.s);
    		point = true;
    		}
    		else
    		return;
    		
    	}
    	
    }

}


class OperationPanel extends Panel implements ActionListener
{
    Double i;
    double temp = 0.0;
    private short opera = 0;
    private short counter = 0; 
    private double result = 0;
    private Button plus = new Button("  +  "),
            minus = new Button("  -  "),
            clear = new Button ("  C  "),
            ac = new Button (" AC "),
            times = new Button("  X  "),
            divide = new Button("  /  "),
            equals = new Button("  =  "),
            sto = new Button (" STO "),
            rcl = new Button (" RCL "),
           square = new Button(" SQRT ");					
   
    public OperationPanel()
    {
       			
        setLayout(new GridLayout(5,2,10,10));
	
        add(clear);
        add(ac);
        add(sto);
        add(rcl);
        add(plus);
        add(minus);
        add(times);
        add(divide);
        add(square);
        add(equals);
       
       clear.addActionListener(this);
       ac.addActionListener(this);
       plus.addActionListener(this);
       minus.addActionListener(this);
       times.addActionListener(this);
       divide.addActionListener(this);
       equals.addActionListener(this);        
       square.addActionListener(this);
       sto.addActionListener(this);
       rcl.addActionListener(this);        
    }
    
    
    
    public void addition()
    {
	if (counter==0)
    		{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result + i.doubleValue();
    		counter++;
    		opera=1;
    	}
    	
    	else if (counter !=0  && opera==1 )
    	{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result + i.doubleValue();
    		opera = 1;
		}
    	else if (counter !=0  && opera==2 )
    	{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result - i.doubleValue();
    		opera = 1;
		}
	else if (counter !=0  && opera==3 )
    		{ i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result * i.doubleValue();
    		opera = 1;
		}
	else if (counter !=0  && opera==4 )
    		{ i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result/ i.doubleValue();
    		opera = 1;
		}	
    	}
    	
    	public void minus()
    	{
    	if (counter==0)
    		{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result + i.doubleValue();
    		counter++;
    		opera=2;
    	}
    	
    	else if (counter !=0  && opera==2 )
    	{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result - i.doubleValue();
    		opera = 2;
		}
    	else if (counter !=0  && opera==1 )
    		{ i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result + i.doubleValue();
    		opera = 2;
		}
	else if (counter !=0  && opera==3 )
    		 {i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result * i.doubleValue();
    		opera = 2;
		}
	else if (counter !=0  && opera==4 )
    		{ i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result/ i.doubleValue();
    		opera = 2;
		}	
 
    	}	
    		
    	
   	public void times()
   	{
   		
   	if (counter==0)
    		{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result + i.doubleValue();
    		counter++;
    		opera=3;
    	}
    	
    	else if (counter !=0  && opera==3 )
    	{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result * i.doubleValue();
    		opera = 3;
		}
    	else if (counter !=0  && opera==1 )
    		{ i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result + i.doubleValue();
    		opera = 3;
		}
	else if (counter !=0  && opera==2 )
    		 {i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result - i.doubleValue();
    		opera = 3;
		}
	else if (counter !=0  && opera==4 )
    		 {i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result/ i.doubleValue();
    		opera = 3;
		}		
   		
   	}
   	
   	public void divide()
   	{
   	if (counter==0)
    		{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result + i.doubleValue();
    		counter++;
    		opera=4;
    	}
    	
    	else if (counter !=0  && opera==4 )
    	{
    		 i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result / i.doubleValue();
    		opera = 4;
		}
    	else if (counter !=0  && opera==1 )
    		 {i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result + i.doubleValue();
    		opera = 4;
		}
	else if (counter !=0  && opera==2 )
    		 {i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result - i.doubleValue();
    		opera = 4;
		}
	else if (counter !=0  && opera==3 )
    		 {i = new Double (Calc1.display.getText());
    		Calc1.display.setText("");
    		result = result* i.doubleValue();
    		opera = 4;
		}		
   	}
   	
   	
   	public void equals()
   	{
   	if (opera==1)
    	{	
    	 i= new Double (Calc1.display.getText());
    	Calc1.display.setText("");
    	result = result + i.doubleValue();
    	Calc1.display.setText(""+ result);
	}
	else if (opera==2)
    	{	
    	 i= new Double (Calc1.display.getText());
    	Calc1.display.setText("");
    	result = result -  i.doubleValue();
    	Calc1.display.setText(""+ result);
	}
    	else if(opera ==3)
    	{
    	i= new Double (Calc1.display.getText());
    	Calc1.display.setText("");
    	result = result * i.doubleValue();
    	Calc1.display.setText(""+ result);
    	}
    	
    	else if(opera ==4)
    	{
    	 i= new Double (Calc1.display.getText());
    	Calc1.display.setText("");
    	result = result / i.doubleValue();
    	Calc1.display.setText(""+ result);
	}
	counter = 0;
	result = 0;   	
   	}
   	
   	public void clear()
   	{
   	
   	plus.setEnabled(true);
       	minus.setEnabled(true);
       	times.setEnabled(true);
       	divide.setEnabled(true);
       	equals.setEnabled(true);
       	ac.setEnabled(true);
   	Calc1.display.setText("0.0");
    	i = new Double (Calc1.display.getText());
    	Calc1.display.setText("");
    	NumPanel.point = false;
    	result = 0.0;
    	counter = 0;
    	opera = 0;	
   	}
   	
   	public void square()
   	{
   	 i= new Double (Calc1.display.getText());
   	result = i.doubleValue();
    	Calc1.display.setText(""+Math.sqrt(result));
    	clear.addActionListener(this);
       	plus.setEnabled(false);
       	minus.setEnabled(false);
       	times.setEnabled(false);
       	divide.setEnabled(false);
       	equals.setEnabled(false);
       	ac.setEnabled(false);

   	}
   	
   	public void ac()
   	{
   	NumPanel.point = false;
   	Calc1.display.setText("");	
   	}
   	
   	public void sto()
   	{
   	 i= new Double (Calc1.display.getText());
   	 temp =  i.doubleValue();	
   	}
   	
   	public void rcl()
   	{
   	NumPanel.point = true;
   	Calc1.display.setText(""+ temp);	
   	}
   	
   	
   	
   	
   	
    public void actionPerformed(ActionEvent e)
    {
    	
    	Object source = e.getSource();
    	
    	if (source==plus)
    	{
    	NumPanel.count = 0;
    	NumPanel.point = false;	
    	addition();
	}

    	if (source==minus)
    	{
    	NumPanel.count = 0;
    	NumPanel.point = false;	
    	minus();	
	}

    	if (source==times)
    	{
    	NumPanel.count = 0;
    	NumPanel.point = false;	
    	times();	
	}

    	if (source==divide)
    	{
    	NumPanel.count = 0;
    	NumPanel.point = false;
    	divide();	
	}


    	if (source==equals)
    	{	
    	NumPanel.point = true;
    	equals();
	}

	if (source==clear)
    	{	
    	NumPanel.count = 0;
    	clear();
    	}

	if (source == square)
	{
	NumPanel.point = true;
	square();
	}
	if (source == ac)
	{
	NumPanel.count = 0;
	ac();
	}
	
	if (source == sto)
	{
	sto();
	}
	
	if (source == rcl)
	{
	rcl();	
	}
	

    	}
    	
    	
    }


⌨️ 快捷键说明

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