两个数的运算的简单计算器

import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class TestGui2 {
	String number2;
	Opertion go;
	StringBuffer addString = new StringBuffer();
	StringBuffer middleNumber = new StringBuffer();
	JFrame frame;
	JPanel pane;
	JPanel pane2;
	JButton equal;
	JTextField view;
	JButton button1;
	JButton button2;
	JButton button3;
	JButton button4;
	JButton button5;
	JButton button6;
	JButton button7;
	JButton button8;
	JButton button9;
	JButton button0;
	JButton buttonAdd;
	JButton buttonReduce;
	JButton buttonMultiply;
	JButton buttonDivide;
	JButton buttonClear;
	JButton buttonPoint;
	JButton buttonPowers;
	JButton buttonRoots;
	JButton buttonMod;
	JMenuBar menuBar;
	JMenu menu;
	/*
	public void saveData(){
		Connection con = null;
		Statement dataSave = null;
		Boolean sqlGo = false;
		try{
			Class.forName("com.mysql.jdbc.Driver");
		}catch(Exception ex){
			JOptionPane.showMessageDialog(null,"Loading drive failure,sure your software is full ! ");
		}
		 String url = "jdbc:mysql://localhost:3306/s" ;     
	     String username = "root" ;    
	     String password = "sdk123" ;    
	     try{    
	    con = DriverManager.getConnection(url , username , password ) ;    
	     }catch(SQLException se){    
	    	 JOptionPane.showMessageDialog(null,"Open database failure,sure your software is full ! ");
	     }   
	     try {
			dataSave = con.createStatement();
		    //sqlGo = dataSave.execute("insert into `savedata`(`saveString`)values('friends');");
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null,"1 Save data failure,sure your software is full ! ");
		}
	}
	*/
	public void setGui(){
		frame = new JFrame();
		view = new JTextField();
		equal = new JButton("=");
		button1 = new JButton("1");
		button2 = new JButton("2");
		button3 = new JButton("3");
		button4 = new JButton("4");
		button5 = new JButton("5");
		button6 = new JButton("6");
		button7 = new JButton("7");
		button8 = new JButton("8");
		button9 = new JButton("9");
		button0 = new JButton("0");
		buttonAdd = new JButton("+");
		buttonReduce = new JButton("-");
		buttonMultiply = new JButton("x");
		buttonDivide = new JButton("/");
		buttonClear = new JButton("clear");
		buttonPoint = new JButton(".");
		buttonPowers = new JButton("pow");
		buttonRoots = new JButton("roots");
		buttonMod = new JButton("mod");
		menuBar = new JMenuBar();
		menu = new JMenu("About");
		menuBar.add(menu);
		pane = new JPanel();
		pane2 = new JPanel();
		pane2.add(menuBar);
		pane2.add(view);
		GridLayout layout2 = new GridLayout(2,1);
		pane2.setLayout(layout2);
		pane.add(button1);
		pane.add(button2);
		pane.add(button3);
		pane.add(button4);
		pane.add(button5);
		pane.add(button6);
		pane.add(button7);
		pane.add(button8);
		pane.add(button9);
		pane.add(button0);
		pane.add(buttonAdd);
		pane.add(buttonReduce);
		pane.add(buttonMultiply);
		pane.add(buttonDivide);
		pane.add(equal);
		pane.add(buttonClear);
		pane.add(buttonPoint);
		pane.add(buttonPowers);
		pane.add(buttonRoots);
		pane.add(buttonMod);
		GridLayout layout = new GridLayout(5,4);
		pane.setLayout(layout);
		frame.setTitle("MyCalculater");
		frame.getContentPane().add(BorderLayout.NORTH,pane2);
		frame.getContentPane().add(BorderLayout.CENTER,pane);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		frame.setSize(300,350);
		button1.addActionListener(new Button1Listen());
		button2.addActionListener(new Button2Listen());
		button3.addActionListener(new Button3Listen());
		button4.addActionListener(new Button4Listen());
		button5.addActionListener(new Button5Listen());
		button6.addActionListener(new Button6Listen());
		button7.addActionListener(new Button7Listen());
		button8.addActionListener(new Button8Listen());
		button9.addActionListener(new Button9Listen());
		button0.addActionListener(new Button0Listen());
		buttonAdd.addActionListener(new ButtonAddListen());
		buttonReduce.addActionListener(new ButtonReduceListen());
		buttonClear.addActionListener(new ButtonClearListen());
		buttonDivide.addActionListener(new ButtonDivideListen());
		buttonMultiply.addActionListener(new ButtonMultiplyListen());
		buttonPowers.addActionListener(new ButtonPowersListen());
		buttonRoots.addActionListener(new ButtonRootsListen());
		buttonMod.addActionListener(new ButtonModListen());
		equal.addActionListener(new ButtonEqualListen());
		buttonPoint.addActionListener(new ButtonPointListen());
		menu.addMenuListener(new MenuListen());
		
	}
	  class Button1Listen implements ActionListener{
		public void actionPerformed(ActionEvent event){
			addString.append("1");
			view.setText(addString.toString());
			if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
				middleNumber.append("1");
			}
		}
	}
	  class Button2Listen implements ActionListener{
			public void actionPerformed(ActionEvent event){
				addString.append("2");
				view.setText(addString.toString());
				if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
					middleNumber.append("2");
				}
			}
		}
	  class Button3Listen implements ActionListener{
			public void actionPerformed(ActionEvent event){
				addString.append("3");
				view.setText(addString.toString());
				if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
					middleNumber.append("3");
				}
			}
		}
	  class Button4Listen implements ActionListener{
			public void actionPerformed(ActionEvent event){
				addString.append("4");
				view.setText(addString.toString());
				if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
					middleNumber.append("4");
				}
			}
		}
	  class Button5Listen implements ActionListener{
			public void actionPerformed(ActionEvent event){
				addString.append("5");
				view.setText(addString.toString());
				if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
					middleNumber.append("5");
				}
			}
		}
		  class Button6Listen implements ActionListener{
				public void actionPerformed(ActionEvent event){
					addString.append("6");
					view.setText(addString.toString());
					if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
						middleNumber.append("6");
					}
				}
			}
		  class Button7Listen implements ActionListener{
				public void actionPerformed(ActionEvent event){
					addString.append("7");
					view.setText(addString.toString());
					if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
						middleNumber.append("7");
					}
				}
			}
		  class Button8Listen implements ActionListener{
				public void actionPerformed(ActionEvent event){
					addString.append("8");
					view.setText(addString.toString());
					if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
						middleNumber.append("8");
					}
				}
			}
		  class Button9Listen implements ActionListener{
				public void actionPerformed(ActionEvent event){
					addString.append("9");
					view.setText(addString.toString());
					if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
						middleNumber.append("9");
					}
				}
			}
			  class Button0Listen implements ActionListener{
					public void actionPerformed(ActionEvent event){
						addString.append("0");
						view.setText(addString.toString());
						if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
							middleNumber.append("0");
						}
					}
				}
			  class ButtonAddListen implements ActionListener{
					public void actionPerformed(ActionEvent event){
						go = new Add();
					try{
						go.firstNumber = Double.parseDouble(view.getText());
						addString.append(" + ");
						view.setText(addString.toString());
					}catch(Exception ex){
						ex.printStackTrace();
					    view.setText("数据异常,请输入正确的数据!");
					}
					}
				}
			  class ButtonReduceListen implements ActionListener{
					public void actionPerformed(ActionEvent event){
						go = new Reduce();
						try{
							go.firstNumber = Double.parseDouble(view.getText());
						addString.append(" - ");
						view.setText(addString.toString());
					}catch(Exception ex){
						ex.printStackTrace();
					    view.setText("数据异常,请输入正确的数据!");
					}
					}
				}
			  class ButtonMultiplyListen implements ActionListener{
					public void actionPerformed(ActionEvent event){
						go = new Multiply();
						try{
							go.firstNumber = Double.parseDouble(view.getText());
						addString.append(" x ");
						view.setText(addString.toString());
					}catch(Exception ex){
						ex.printStackTrace();
					    view.setText("数据异常,请输入正确的数据!");
					}
					}
				}
				  class ButtonDivideListen implements ActionListener{
						public void actionPerformed(ActionEvent event){
							go = new Divide();
							try{
								go.firstNumber = Double.parseDouble(view.getText());
							addString.append(" / ");
							view.setText(addString.toString());
						}catch(Exception ex){
							ex.printStackTrace();
						    view.setText("数据异常,请输入正确的数据!");
						}
						}
					}
				  class ButtonClearListen implements ActionListener{
						public void actionPerformed(ActionEvent event){
							view.setText("");
							addString.delete(0, addString.length());
							middleNumber.delete(0,middleNumber.length());
						}
					}
				  class ButtonEqualListen implements ActionListener{
						public void actionPerformed(ActionEvent event){
							try{
								if(middleNumber.toString().equals("")){
									middleNumber.append("0");
								}
								go.secondNumber = Double.parseDouble(middleNumber.toString());
						        go.equalNumber = go.opertion(go.firstNumber,go.secondNumber);
							addString.append(" = " + "" +go.equalNumber);
							view.setText(addString.toString());
							}catch(Exception ex){
								ex.printStackTrace();
							    view.setText("数据异常,请输入正确的数据!");
							}
						}
					}
				  class ButtonPointListen implements ActionListener{
					  public void actionPerformed(ActionEvent event){
						  addString.append(".");
							view.setText(addString.toString());
							if(addString.toString().contains("+") || addString.toString().contains("/") || addString.toString().contains("x") || addString.toString().contains("-") || addString.toString().contains("powers") || addString.toString().contains("mod")){
								middleNumber.append("."); 
					  }
					  }
				  }
				  class ButtonPowersListen implements ActionListener{
					  public void actionPerformed(ActionEvent event){
						  go = new Powers();
							try{
								go.firstNumber = Double.parseDouble(view.getText());
							addString.append(" powers ");
							view.setText(addString.toString());
						}catch(Exception ex){
							ex.printStackTrace();
						    view.setText("数据异常,请输入正确的数据!");
						}
					  }
				  }
				  class ButtonRootsListen implements ActionListener{
					  public void actionPerformed(ActionEvent event){
						  go = new Roots();
							try{
								go.firstNumber = Double.parseDouble(view.getText());
							addString.append(" roots ");
							view.setText(addString.toString());
						}catch(Exception ex){
							ex.printStackTrace();
						    view.setText("数据异常,请输入正确的数据!");
						}  
					  }
				  }
				  class ButtonModListen implements ActionListener{
					  public void actionPerformed(ActionEvent event){
						  go = new Mod();
							try{
								go.firstNumber = Double.parseDouble(view.getText());
							addString.append(" mod ");
							view.setText(addString.toString());
						}catch(Exception ex){
							ex.printStackTrace();
						    view.setText("数据异常,请输入正确的数据!");
						}
					  }
				  }
				  class MenuListen implements MenuListener{
					  public void menuSelected(MenuEvent e){
						  JOptionPane.showMessageDialog(null,"Thanks for you to use MyCalculater. By HuangYangyang");
					  }

					public void menuCanceled(MenuEvent e) {
						
					}
					public void menuDeselected(MenuEvent e) {
						
					}
				  }
public static void main(String [] args){
	TestGui2 to = new TestGui2();
	to.setGui();
}	
}
class Opertion{
	double firstNumber;
	double secondNumber;
	double equalNumber;
	public double opertion(double first,double second ){
		return 0;
	}
}
class Add extends Opertion{
	public double opertion(double first,double second ){
		firstNumber = first;
		secondNumber = second;
	equalNumber = firstNumber + secondNumber;
	return equalNumber;
	}
}
class Divide extends Opertion{
	public double opertion(double first,double second ){
		firstNumber = first;
		secondNumber = second;
		equalNumber = firstNumber / (int)secondNumber;
		return equalNumber;
	}
}
class Reduce extends Opertion{
	public double opertion(double first,double second ){
		firstNumber = first;
		secondNumber = second;
		equalNumber = firstNumber - secondNumber;
		return equalNumber;
	}
}
class Multiply extends Opertion{
	public double opertion(double first,double second ){
		firstNumber = first;
		secondNumber = second;
		equalNumber = firstNumber * secondNumber;
		return equalNumber;
	}
}
class Powers extends Opertion{
	public double opertion(double first,double second){
		firstNumber = first;
		secondNumber = second;
		equalNumber = Math.pow(firstNumber, secondNumber);
		return equalNumber;
	}
}
class Roots extends Opertion{
	public double opertion(double first,double second){
		firstNumber = first;
		secondNumber = second;
		equalNumber = Math.cbrt(firstNumber);
		return equalNumber;
	}
}
class Mod extends Opertion{
	public double opertion(double first,double second){
		firstNumber = first;
		secondNumber = second;
		equalNumber = Math.IEEEremainder(firstNumber,secondNumber);
		if(firstNumber > secondNumber){
			equalNumber = 0 - equalNumber;
		}
		return equalNumber;
	}
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值