两个数的运算的简单计算器
2012-07-06 14:44
274 查看
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; } }
相关文章推荐
- 5-12 两个数的简单计算器 (10分)
- 刚学了构造函数,编个程序(两个数的加减乘除运算)
- 两个数的运算。。。
- 位运算求两个数的平均值
- 5-12 两个数的简单计算器
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 位运算实现求两个数的平均值
- java实现从键盘输入两个数做运算
- 两个数之间的简单运算js
- PAT-两个数的简单计算器(简单编程题)
- 异或运算实现两个数的交换
- 异或运算交换两个数
- 使用java开发简单计算器界面,并实现加、减、乘、除运算
- 5-12 两个数的简单计算器 (10分)
- 调用函数计算两个数的运算结果
- c# 抽象方法:实现两个数的加、减、乘操作运算
- 基于51单片机设计简单计算器,实现6位有效四则运算的程序设计(汇编调用C)
- 运用异或运算实现两个数不通过中间变量交换值的原理分析
- 通过位运算实现两个数的加、减、乘、除