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

📄 mycacl.java

📁 我用java做的一个计算器
💻 JAVA
字号:
/*
Author:1921107
*/
import java.awt.*;
import java.awt.event.*;
import java.lang.*;

class  mylst  extends  WindowAdapter{
	public void windowClosing(WindowEvent ev)
	{
		System.exit(1);
	}
}
public class cacl  implements ActionListener{
	Button key0,key1,key2,key3,key4,key5,key6,key7,key8,key9,key10,key11,key12,key13,key14,key15,key16,key17;
	TextField  txtAnswer;
	Panel  p,q;
	Frame f;
	char operate=' ';
	String firstNum="";  //目标操作数
	String secdNum="";   //源操作数
	public static void  main(String args[]){
	cacl calGUI=new cacl();
		calGUI.go();
	}
	public void go(){
		f=new Frame("计算器");
		p=new Panel();
		q=new Panel();
		txtAnswer=new TextField("0",20);
		mylst    mls=new mylst();
		f.addWindowListener(mls);
		key0=new Button("7");
	    key1=new Button("8");
	    key2=new Button("9");
	    key3=new Button("/");
	    key4=new Button("4");
	    key5=new Button("5");
	    key6=new Button("6");
	    key7=new Button("*");
	    key8=new Button("1");
	    key9=new Button("2");
	    key10=new Button("3");
	    key11=new Button("-");
	    key12=new Button("0");
	    key13=new Button(".");
	    key14=new Button("+");
	    key15=new Button("%");	
	    key16=new Button("=");
	    key17=new Button("Clear");    
		p.setLayout(new GridLayout(4,4));
		p.add(key0);
		p.add(key1);
		p.add(key2);
		p.add(key3);
		p.add(key4);
		p.add(key5);
		p.add(key6);
		p.add(key7);
		p.add(key8);
		p.add(key9);
		p.add(key10);
		p.add(key11);
		p.add(key12);
		p.add(key13);
		p.add(key14);
		p.add(key15);
		q.setLayout(new GridLayout(1,2));
		q.add(key16);
		q.add(key17);
	    f.setSize(200,200);
		f.add(txtAnswer,"North");
		f.add(p);
		f.add(q,"South");
		f.setVisible(true);
		key0.addActionListener(this);
		key1.addActionListener(this);
		key2.addActionListener(this);
		key3.addActionListener(this);
		key4.addActionListener(this);
		key5.addActionListener(this);
		key6.addActionListener(this);
		key7.addActionListener(this);
		key8.addActionListener(this);
		key9.addActionListener(this);
		key10.addActionListener(this);
		key11.addActionListener(this);
		key12.addActionListener(this);
		key13.addActionListener(this);
		key14.addActionListener(this);
		key15.addActionListener(this);
		key16.addActionListener(this);
		key17.addActionListener(this);
	}
  public void actionPerformed(ActionEvent e){
  	String c="";
  	c=e.getActionCommand();
   
   if(c.equals("Clear"))
      {
      		operate=' ';
        	firstNum="";
        	secdNum="";
        	txtAnswer.setText("");
      }
    else
    {
	      if (operate==' '){
	  	    if ((c.charAt(0)=='+')|| (c.charAt(0)=='-') ||(c.charAt(0)=='*')  || (c.charAt(0)=='/')){
	  	      operate=c.charAt(0);
	  	      System.out.println("operate="+operate);
	  	    } 
	  	    else if(c.charAt(0)=='=') {
	  	    }
	  	    else if(c.charAt(0)=='.'){
	  	    	if(firstNum.indexOf(".")==-1&&firstNum!="")
	  	    	firstNum+=c;
	  	    	txtAnswer.setText(firstNum);
	  		}
	  	    else{
	  	    	firstNum+=c;
	  	    	txtAnswer.setText(firstNum);
	  	    	System.out.println("firstNum="+firstNum);
	  	    }  
	      }
	     else{
	       if((c.charAt(0)!='+')&&(c.charAt(0)!='-')&&(c.charAt(0)!='*')&&(c.charAt(0)!='/')&&(c.charAt(0)!='=')&&c.charAt(0)!='.'){
	          secdNum+=c;
	          txtAnswer.setText(secdNum);
	          System.out.println("secdNum="+secdNum);
	        }
	        
	        else if (c.charAt(0)=='='){
		        	if(secdNum!="")
		          {
			          System.out.println("result:");
			          firstNum=String.valueOf(cal(operate));
			          txtAnswer.setText(firstNum);
			          secdNum=""; 
		          } 	
	        }
	        
	       else if(c.charAt(0)=='.'){
	  	    	if(secdNum.indexOf(".")==-1&&secdNum!="")
	  	    	secdNum+=c;
	  	    	txtAnswer.setText(secdNum);
	  		} 
	        else{
	        	if(secdNum!="")
	        	{
	        	firstNum=String.valueOf(cal(operate));
	        	txtAnswer.setText(firstNum);
	        	}
	        	operate=c.charAt(0);
	        	System.out.println("operate="+operate);
	        	secdNum="";        	
	        }
	        	
	     } 
	}
    	  	
  }	
  public float cal(char op){
	float answer=0;
	System.out.println("first="+firstNum+" op="+op +" second="+secdNum);
	if ((firstNum.indexOf(".")==-1)&&(secdNum.indexOf(".")==-1)){
      switch(op){
	    case  '+' :	answer=Integer.parseInt(firstNum) + Integer.parseInt(secdNum);break;
	    case  '-' :	answer=Integer.parseInt(firstNum) - Integer.parseInt(secdNum);break;
	    case  '*' :	answer=Integer.parseInt(firstNum) * Integer.parseInt(secdNum);break;
	    case  '/' :	if(Integer.parseInt(secdNum)!=0)   answer=Integer.parseInt(firstNum) / Integer.parseInt(secdNum);break;	
	    case  '%' :	answer=Integer.parseInt(firstNum) % Integer.parseInt(secdNum);break;    
	   } 
	 }
	 else{
	 	switch(op){
	    case  '+' :	answer=Float.parseFloat(firstNum) + Float.parseFloat(secdNum);break;
	    case  '-' :	answer=Float.parseFloat(firstNum) - Float.parseFloat(secdNum);break;
	    case  '*' :	answer=Float.parseFloat(firstNum) * Float.parseFloat(secdNum);break;
	    case  '/' :	if(Float.parseFloat(secdNum)!=0) answer=Float.parseFloat(firstNum) / Float.parseFloat(secdNum);break;	    
	   } 
	 }
	  return(answer);	
	  
  }
 }

⌨️ 快捷键说明

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