Java Calculator
来源:互联网 发布:烬技能数据 编辑:程序博客网 时间:2024/05/22 07:43
Java Calculator
package Calculator;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class CalculatorDome extends JFrame implements ActionListener { //全局变量 private final String[] components = {"7","8","9","+","4","5","6","-","1","2","3","*",".","0","=","/"}; private boolean flag_firstNumber = true; String operator = "="; double digital = 0.0; String first_number = ""; String second_number = ""; JButton []numbers; JButton CE; JTextField message; //constructor CalculatorDome(){ super("Calculator"); //initialize numbers = new JButton[components.length]; CE = new JButton("CE"); message = new JTextField(""); //create container Container container = this.getContentPane(); JPanel upperpanel = new JPanel(); upperpanel.setLayout(new BorderLayout()); upperpanel.add("Center",message); upperpanel.add("East",CE); JPanel lowerpanel = new JPanel(); lowerpanel.setLayout(new GridLayout(4,4)); for(int i = 0;i < components.length; i++) { numbers[i] = new JButton(components[i]); lowerpanel.add(numbers[i]); numbers[i].addActionListener(this); } container.setLayout(new BorderLayout()); container.add("North",upperpanel); container.add("Center",lowerpanel); CE.addActionListener(this); message.addActionListener(this); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(800,800); this.setVisible(true); this.setBackground(Color.GRAY); } public static void main(String[] args){ new CalculatorDome(); } @Override public void actionPerformed(ActionEvent e){ Object target = e.getSource(); String label = e.getActionCommand(); if(target == CE){ handleCE(); } else if("0123456789.".indexOf(label) >= 0){ if(flag_firstNumber) { first_number +=label; } else if (!flag_firstNumber) { second_number +=label; } handleNumber(label); } else{ handleOperator(label); flag_firstNumber = false; } } public void handleCE(){ message.setText(""); flag_firstNumber = true; digital = 0.0; first_number = ""; second_number = ""; } public void handleNumber(String key){ message.setText(message.getText() + key); } public void handleOperator(String key){ message.setText(message.getText() + key); if(flag_firstNumber) { operator = key; } else { // System.out.println(first_number); // System.out.println(second_number); double a = Double.parseDouble(first_number); double b = Double.parseDouble(second_number); if(operator.equals("+")) { digital = a+b; } else if(operator.equals("-")) { digital = a-b; } else if(operator.equals("/")) { digital = a/b; } else if(operator.equals("*")) { digital = a*b; } message.setText("" + digital); } }}
0 0
- calculator.java
- java - calculator
- Java Calculator
- 【JAVA】Gary's Calculator
- [Java][hoj]Super Calculator
- [leetcode]Basic Calculator(java)
- java swing实现Calculator
- Calculator
- Calculator
- Calculator
- Calculator
- Calculator
- Calculator
- calculator
- Calculator
- Calculator
- calculator
- Calculator
- 一个关于概率的问题的思考
- linux不带缓存的文件操作
- unity shader (6)--实现高光反射光照模型
- 算法Week08.03 - LeetCode 112. Path Sum
- MFC----------创建用户登录界面笔记
- Java Calculator
- 当黑客遇见画家
- Android中怎么做屏幕适配
- poj 1125 Stockbroker Grapevine(Floyd模板题)
- c++入门:输入一个字符串,将其分段输出,分段符为除字母和数字之外的符号。
- 你了解爱的艺术吗?
- Linux操作总结,持续完善
- 类似论坛评论和回复(评论盖楼)-android
- C++笔面试总结