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

📄 jsq.java

📁 一个JAVA做的计算器
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

 public class jsq extends JFrame implements ActionListener
 { 	 
        double a=0.0;
	    double b=0.0;
	    double c=0.0;
 		int sign;
 		boolean inputnum=false;
	    boolean reset=true; 
	    JTextField tf=new JTextField("0",25); 
	    String str[]={"7","8","9","*","4","5","6","-","1","2","3","+","0",".","/","=","C","E"};
 		JButton btn[]=new JButton[str.length]; 
 	public 	jsq(){
 		 
	    Container container=getContentPane(); 		
 		container.setLayout(new BorderLayout(5,4));  		
 		
 		JPanel panel1=new JPanel();
 		panel1.setLayout(new GridLayout(5,4));  		
 		for (int i=0;i<str.length;i++)
        {
            btn[i]=new JButton(str[i]);                           
            btn[i].addActionListener(this); 
            panel1.add(btn[i]);           
        } 				
 		JPanel panel2=new JPanel();
 		panel2.setLayout(new BorderLayout()); 		
 		panel2.add(tf,BorderLayout.NORTH);
 		
 		panel2.add(panel1,BorderLayout.CENTER); 		
 		container.add(panel2,BorderLayout.CENTER);     
 	} 
 	
    public void actionPerformed(ActionEvent ae)
	{
		
		if(ae.getActionCommand().equals("C"))
		{
			tf.setText("0");
			inputnum=false;
			reset=true;
            sign=0;
			a=0.0;
			b=0.0;
			c=0.0;
		}

		if(ae.getActionCommand().equals("E"))
			System.exit(0);

		if(ae.getActionCommand().equals("0"))
			if(inputnum)
			     tf.setText(tf.getText()+"0");
			else tf.setText("0");
			
		if(ae.getActionCommand().equals("1"))
			if(inputnum)
					tf.setText(tf.getText()+"1");
			          else{ tf.setText("1");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
					  
        if(ae.getActionCommand().equals("2"))
			if(inputnum)
				      tf.setText(tf.getText()+"2");
			          else{ tf.setText("2");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
					 
        if(ae.getActionCommand().equals("3"))
			if(inputnum)
				      tf.setText(tf.getText()+"3");
			          else{ tf.setText("3");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
		if(ae.getActionCommand().equals("4"))
			if(inputnum)
				      tf.setText(tf.getText()+"4");
			          else{ tf.setText("4");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
			

        if(ae.getActionCommand().equals("5"))
			if(inputnum)
				      tf.setText(tf.getText()+"5");
			          else{ tf.setText("5");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
		

        if(ae.getActionCommand().equals("6"))
			if(inputnum)
				      tf.setText(tf.getText()+"6");
			          else{ tf.setText("6");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
		if(ae.getActionCommand().equals("7"))
			if(inputnum)
				      tf.setText(tf.getText()+"7");
			          else{ tf.setText("7");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
		if(ae.getActionCommand().equals("8"))
			if(inputnum)
				      tf.setText(tf.getText()+"8");
			          else{ tf.setText("8");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
		if(ae.getActionCommand().equals("9"))
			if(inputnum)
				      tf.setText(tf.getText()+"9");
			          else{ tf.setText("9");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
		if(ae.getActionCommand().equals("."))
			if(inputnum)
		    {
			    if(tf.getText().indexOf('.')<0)
			     tf.setText(tf.getText()+".");
			}
			          else{ tf.setText("0.");
					        inputnum=true;
							if(reset){
								sign=0;
								reset=false;
							}
					  }
		if(ae.getActionCommand().equals("+")) 
		{
			          switch(sign){
				      case 0:a=Double.parseDouble(tf.getText());break;
                      case 1:a=a+Double.parseDouble(tf.getText());break;
					  case 2:a=a-Double.parseDouble(tf.getText());break;
					  case 3:a=a*Double.parseDouble(tf.getText());break;
					  case 4:a=a/Double.parseDouble(tf.getText());break;
			          }
					  tf.setText(String.valueOf(a));
					  sign=1;
					  inputnum=false;
					  reset=false;
		}
		if(ae.getActionCommand().equals("-"))
		{
			          switch(sign){
				      case 0:a=Double.parseDouble(tf.getText());break;
                      case 1:a=a+Double.parseDouble(tf.getText());break;
					  case 2:a=a-Double.parseDouble(tf.getText());break;
					  case 3:a=a*Double.parseDouble(tf.getText());break;
					  case 4:a=a/Double.parseDouble(tf.getText());break;
			          }
					  tf.setText(String.valueOf(a));
					  sign=2;
					  inputnum=false;
					  reset=false;
		}
		if(ae.getActionCommand().equals("*"))
		{
			          switch(sign){
				      case 0:a=Double.parseDouble(tf.getText());break;
                      case 1:a=a+Double.parseDouble(tf.getText());break;
					  case 2:a=a-Double.parseDouble(tf.getText());break;
					  case 3:a=a*Double.parseDouble(tf.getText());break;
					  case 4:a=a/Double.parseDouble(tf.getText());break;
			          }
					  tf.setText(String.valueOf(a));
					  sign=3;
					  inputnum=false;
					  reset=false;
		}
		if(ae.getActionCommand().equals("/"))
		{
			          switch(sign){
				      case 0:a=Double.parseDouble(tf.getText());break;
                      case 1:a=a+Double.parseDouble(tf.getText());break;
					  case 2:a=a-Double.parseDouble(tf.getText());break;
					  case 3:a=a*Double.parseDouble(tf.getText());break;
					  case 4:a=a/Double.parseDouble(tf.getText());break;
			          }
					  tf.setText(String.valueOf(a));
					  sign=4;
					  inputnum=false;
					  reset=false;
		}
        if(ae.getActionCommand().equals("="))
		{
			          b=Double.parseDouble(tf.getText());
			          switch(sign){
				      case 0:c=Double.parseDouble(tf.getText());break;
                      case 1:c=a+b;break;
					  case 2:c=a-b;break;
					  case 3:c=a*b;break;
					  case 4:c=a/b;break;
			          }
					  tf.setText(String.valueOf(c));
					  a=c;
					  sign=0;
					  reset=true;
					  inputnum=false;
		}
	}
  public static void main(String[] args)
   {
		jsq frame=new jsq();
		frame.setTitle("计算器");
		frame.setBounds(200,200,220,250);
		frame.setVisible(true);
   }
} 

⌨️ 快捷键说明

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