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

📄 jisuanqi.java

📁 用Java做的计算器
💻 JAVA
字号:
/*
 * Created on 2005-12-30
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author webb
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
import javax.swing.*; 

import java.awt.*; 
import java.awt.event.*;
public class jisuanqi extends JFrame implements ActionListener,KeyListener{ 
   JTextField Text = new JTextField("");
    NKey nkey = new NKey();  
 boolean flag = false; 
 boolean finput = true;
 boolean k=true;
 JLabel zz=new JLabel("03级软件(2)班    陈伟   3103003333  \n" +
 		"开始调试时间:2005-1-4\n  " +
 		"结束调试时间:2005-1-5\n");
 String text = ""; 
 double front=0;
 int symbol = 0; 
 jisuanqi() { 
  super("计算器"); 
  Text.enable(false);
  Text.setHorizontalAlignment(SwingConstants.RIGHT); 
  JPanel pane = new JPanel();
  JPanel sj = new JPanel();
  pane.setLayout(new BorderLayout()); 
  sj.setLayout(new BorderLayout());
  setBounds(400,200,100,200); 
  sj.add(zz);
  pane.add(Text, BorderLayout.NORTH); 
  pane.add(nkey, BorderLayout.CENTER);
  pane.add(sj,BorderLayout.SOUTH);
  nkey.one.addKeyListener(this);    
  nkey.two.addKeyListener(this);    
  nkey.three.addKeyListener(this);   
  nkey.four.addKeyListener(this);   
  nkey.five.addKeyListener(this);   
  nkey.six.addKeyListener(this);   
  nkey.seven.addKeyListener(this);   
  nkey.eight.addKeyListener(this);  
  nkey.nine.addKeyListener(this);   
  nkey.zero.addKeyListener(this);  
  nkey.ce.addKeyListener(this);   
  nkey.plus.addKeyListener(this);   
  nkey.equal.addKeyListener(this);   
  nkey.sub.addKeyListener(this);   
  nkey.mul.addKeyListener(this);    
  nkey.div.addKeyListener(this);    
  nkey.sqrt.addKeyListener(this);   
  nkey.point.addKeyListener(this); 
  nkey.ys.addKeyListener(this); 
  nkey.log.addKeyListener(this); 
  nkey.qf.addKeyListener(this); 
  nkey.cos.addKeyListener(this); 
  nkey.sin.addKeyListener(this); 
  nkey.tan.addKeyListener(this); 
  nkey.daoshu.addKeyListener(this);
  nkey.lf.addKeyListener(this); 
  nkey.pf.addKeyListener(this); 
  nkey.xy.addKeyListener(this); 
  nkey.one.addActionListener(this);    
  nkey.two.addActionListener(this);   
  nkey.three.addActionListener(this);   
  nkey.four.addActionListener(this);  
  nkey.five.addActionListener(this);   
  nkey.six.addActionListener(this);    
  nkey.seven.addActionListener(this);   
  nkey.eight.addActionListener(this);  
  nkey.nine.addActionListener(this);   
  nkey.zero.addActionListener(this);  
  nkey.ce.addActionListener(this);  
  nkey.plus.addActionListener(this); 
  nkey.equal.addActionListener(this);   
  nkey.sub.addActionListener(this);    
  nkey.mul.addActionListener(this);   
  nkey.div.addActionListener(this);     
  nkey.sqrt.addActionListener(this);  
  nkey.point.addActionListener(this); 
  nkey.ys.addActionListener(this); 
  nkey.log.addActionListener(this); 
  nkey.qf.addActionListener(this); 
  nkey.cos.addActionListener(this); 
  nkey.sin.addActionListener(this); 
  nkey.tan.addActionListener(this); 
  nkey.daoshu.addActionListener(this);
  nkey.lf.addActionListener(this); 
  nkey.pf.addActionListener(this); 
  nkey.xy.addActionListener(this); 
  setContentPane(pane); 
  this.setResizable(false);
  pack();         
 } 
 public void actionPerformed(ActionEvent event){ 
  if (event.getSource() == nkey.one) { 
   if (flag ||finput) { 
    Text.setText("1"); 
    flag = false; 
    finput =false; 
   } else { 
    text = Text.getText(); 
    Text.setText(text + "1"); 
    } 
  } 
  else if (event.getSource() == nkey.two) { 
   if (flag || finput) { 
    Text.setText("2"); 
    flag = false; 
    finput =false; 
   } else { 
    text = Text.getText(); 
    Text.setText(text + "2"); 
    } 
  } 
  else if (event.getSource() == nkey.three) { 
   if (flag || finput) { 
    Text.setText("3"); 
    flag = false; 
    finput= false; 
   } else { 
    text = Text.getText(); 
    Text.setText(text + "3"); 
   } 
  } 
  else if (event.getSource() == nkey.four) { 
   if (flag || finput) { 
    Text.setText("4"); 
    flag = false; 
    finput = false; 
   } else { 
    text = Text.getText(); 
    Text.setText(text + "4"); 
   } 
  } 
  else if (event.getSource() == nkey.five) { 
   if (flag ||  finput) { 
    Text.setText("5"); 
    flag = false; 
    finput = false; 
   } else { 
    text =Text.getText(); 
    Text.setText(text + "5"); 
   } 
  } 
  else if (event.getSource() == nkey.six) { 
   if (flag || finput) { 
    Text.setText("6"); 
    flag = false; 
    finput = false; 
   } else { 
    text = Text.getText(); 
    Text.setText(text + "6"); 
   } 
  } 
  else if (event.getSource() == nkey.seven) { 
   if (flag || finput) { 
    Text.setText("7"); 
    flag = false; 
    finput=false; 
   } else { 
    text = Text.getText(); 
    Text.setText(text + "7"); 
   } 
  } 
  else if (event.getSource() == nkey.eight) { 
   if (flag || finput) { 
    Text.setText("8"); 
    flag = false; 
    finput= false; 
   } else { 
    text =Text.getText(); 
   Text.setText(text + "8"); 
   } 
  } 
  else if (event.getSource() == nkey.nine) { 
   if (flag ||finput) { 
    Text.setText("9"); 
    flag = false; 
    finput= false; 
   } else { 
    text =Text.getText(); 
    Text.setText(text + "9"); 
   } 
  } 
  else if (event.getSource() == nkey.zero) {
   if (flag ||finput) { 
    Text.setText("0"); 
    flag = false; 
    finput= false; 
   } 
   else { 
    text = Text.getText(); 
    if (Double.parseDouble(text)!=0) 
    {
     Text.setText(text + "0"); 
    } 
    else { 
     if (text.trim().indexOf(".") == -1) 
     { 
      Text.setText(text); 
     } 
     else { 
      Text.setText(text + "0"); 
     } 
    } 
   } 
  } 
  else if (event.getSource() == nkey.ce) { 
   Text.setText("0"); 
   finput= true; 
   flag = true; 
   k=true;
  } 
  else if (event.getSource() == nkey.point) { 
   if (flag ||finput) { 
    Text.setText("0."); 
    flag = false; 
    finput= false; 
   } else { 
    text =Text.getText(); 
    if (text.trim().indexOf(".") == -1) { 
     Text.setText(text + "."); 
    } else { 
    Text.setText(text); 
    } 
   } 
   k=false;
  }             
  else if (event.getSource() == nkey.plus) { 
  	flag = true; 
  	finput= true; 
  	front= Double.parseDouble(Text.getText()); 
   symbol = 1; 
  }            
  else if (event.getSource() == nkey.sub) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
   symbol = 2; 
  }              
  else if (event.getSource() == nkey.mul) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
   symbol = 3; 
  }             
  else if (event.getSource() == nkey.div) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
   symbol = 4; 
  } 
  else if (event.getSource() == nkey.xy) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
    symbol = 5; 
  } 
  else if (event.getSource() == nkey.sqrt) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
    double sqrt =Math.sqrt(front);
    Text.setText((sqrt+""));
    text="";
  }  
  else if (event.getSource() == nkey.ys) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
    symbol=6;
  }  
  else if (event.getSource() == nkey.daoshu) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
  	if(front==0)
    {	Text.setText("0");}
    else 
    {
    	double ds=1/front;
    	Text.setText((ds+"")); 	
    }
    text="";
  }
  else if (event.getSource() == nkey.pf) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
    double pf=Math.pow(front,2);
    Text.setText((pf+""));
    text="";
  }  
  else if (event.getSource() == nkey.lf) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
    double lf=Math.pow(front,3);
    Text.setText((lf+""));
    text="";
  } 
  else if (event.getSource() == nkey.sin) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
    double sin=Math.sin(front);
    Text.setText((sin+""));
    text="";
  } 
  else if (event.getSource() == nkey.cos) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
    double cos=Math.cos(front);
    Text.setText((cos+""));

    text="";
  } 
  else if (event.getSource() == nkey.qf) { 
  	flag = true; 
    finput =true;
  	front = Double.parseDouble(Text.getText()); 
  	double qf=Math.abs(front);
  	if(front<=0)Text.setText((qf+""));
    else if(front>0)Text.setText(("-"+qf));
    text="";
  } 
  else if (event.getSource() == nkey.tan) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText()); 
    double tan=Math.tan(front);
    Text.setText((tan+""));
    text="";
  } 
  else if (event.getSource() == nkey.log) { 
  	flag = true; 
  	finput= true; 
  	front = Double.parseDouble(Text.getText());
	double log=Math.log(front);
    Text.setText((log+""));
    text="";
  } 
  else if (event.getSource() == nkey.equal) { 
  
   switch (symbol) { 
    case 1 :            
    { 
     double add = 
     	front + Double.parseDouble(Text.getText()); 
     Text.setText(add + ""); 
     finput= true; 
     text = ""; 
     break; 
    } 
    case 2 :
    { 
     double sub = 
     	front - Double.parseDouble(Text.getText()); 
    Text.setText(sub+""); 
     finput= true; 
     text = ""; 
     break; 
    } 
    case 3 :
    { 
     double mul = 
     	front * Double.parseDouble(Text.getText()); 
     
     Text.setText(mul + ""); 
     finput= true; 
     text = ""; 
     break; 
    } 
    case 4 :
    { 
     double div = 
     front / Double.parseDouble(Text.getText()); 
     Text.setText(div + ""); 
     finput= true; 
     text = ""; 
     break; 
    } 
    case 5 :
    { 
     double xy =Math.pow(front,Double.parseDouble(Text.getText()));  
     Text.setText(xy + ""); 
     finput= true; 
     text = ""; 
     break; 
    } 
    case 6 :            
    { 
     double ys=0;
    	double next=Double.parseDouble(Text.getText()); 
     	if(front<next)ys=front;
     	else if(front==next||front==0||next==0)ys=0;
     	else 
     		{
     		while(front>next)
     	{
     	  front=front-next;	
     	}
     		if(front==next)ys=0;
     		else ys=front;
     		}
     Text.setText(ys + ""); 
     finput= true; 
     text = ""; 
     break; 
    } 
   }
  } 
 } 
	public void keyPressed(KeyEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	public void keyReleased(KeyEvent arg0) {
		// TODO Auto-generated method stub

	}
	public void keyTyped(KeyEvent event) {
		// TODO Auto-generated method stub
		
		String text=Text.getText();
		char kc=event.getKeyChar();	
		if(kc=='.'&&k==true)
		{
			k=false;
			Text.setText(text+kc);
		}
		else if(kc>='0'&&kc<'9')
		{
			Text.setText(text+kc); 	
	    }
          
	}
 public static void main(String[] args) { 
   jisuanqi JSQ = new jisuanqi(); 
   JSQ.show(); 
 } 
} 
class NKey extends JPanel { 
 JButton zero = new JButton("0");     
 JButton one = new JButton("1");      
 JButton two = new JButton("2");      
 JButton three = new JButton("3");     
 JButton four = new JButton("4");      
 JButton five = new JButton("5");     
 JButton six = new JButton("6");      
 JButton seven = new JButton("7");    
 JButton eight = new JButton("8");     
 JButton nine = new JButton("9");      
 JButton plus = new JButton("+"); 
 JButton sub = new JButton("-"); 
 JButton mul = new JButton("*"); 
 JButton div = new JButton("/"); 
 JButton equal = new JButton("="); 
 JButton ce = new JButton("清零");      
 JButton point = new JButton("."); 
 JButton sqrt = new JButton("sqrt"); 
 JButton ys = new JButton("%");
 JButton daoshu = new JButton("1/x"); 
 JButton xy = new JButton("x^y"); 
 JButton pf = new JButton("x^2"); 
 JButton lf = new JButton("x^3"); 
 JButton sin = new JButton("sin");
 JButton cos = new JButton("cos");
 JButton tan = new JButton("tan");
 JButton log = new JButton("log");
 JButton qf = new JButton("+/-");

 NKey() { 
  setLayout(new GridLayout(7, 7, 0, 0));   
  add(ys);add(sqrt);add(ce);add(equal);
  add(seven);add(eight);add(nine);add(div);
  add(four);add(five);add(six);add(mul);
  add(one);add(two);add(three);add(sub);
  add(zero);add(point);add(qf);add(plus);
  add(daoshu);add(xy);add(pf);add(lf);
  add(sin);add(cos);add(tan);add(log);
 } 
} 

⌨️ 快捷键说明

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