JAVA——计算器
来源:互联网 发布:免费家长控制软件 编辑:程序博客网 时间:2024/05/22 11:46
要求:用Java实现一个计算器。
代码:
import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class Calculator extends JFrame { public static void main(String[] args) { Calculator frame = new Calculator(); frame.setTitle("Calculator"); frame.setSize(360, 500); frame.setResizable(false); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); frame.init(); frame.setVisible(true); //显示界面 } private void init() { int i; textField = new JTextField(); //文本(显示操作数及结果) textField.setEditable(false); //不可更改 textField.setHorizontalAlignment (JTextField.RIGHT); //格式右对齐 JPanel panel = new JPanel(); //界面 panel.setLayout(new GridLayout(4, 4,3,3)); //排列格式 Container container = getContentPane(); container.add(textField, BorderLayout.NORTH); container.add(panel, BorderLayout.CENTER); char Operator[]={'7','8','9','+','4','5','6','-','1','2','3','*','0','.','=','/'}; for(i=0;i<=15;i++) //添加按钮 panel.add(operateButton(Operator[i])); } public JButton operateButton (char key) { JButton button = new JButton(String.valueOf(key)); button.addActionListener(new ActionListener() //注册监听器 { public void actionPerformed(ActionEvent event) { JButton btn = (JButton) event.getSource(); char key2 = btn.getText().charAt(0); action(key2); } }); button.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent event) { char key2 = event.getKeyChar(); action(key2); } }); return button; } private void action(char key2) { if(isEqual) //在key2是运算符的情况下用来判断是否是‘=’或者其他的情况 { textField.setText(""); //如果是等号,那么在输出结果之前清空文本内容 isEqual = false; } switch(key2) //首先将输入的是运算数还是运算符的情况区别开 { case '+': //输入为运算符 v1 = Double.parseDouble(textField.getText()); textField.setText(""); operator = '+'; break; case '-': v1 = Double.parseDouble(textField.getText()); textField.setText(""); operator = '-'; break; case '*': v1 = Double.parseDouble(textField.getText()); textField.setText(""); operator = '*'; break; case '/': v1 = Double.parseDouble(textField.getText()); textField.setText(""); operator = '/'; break; case '=': //输入等号之后开始运算 isEqual = true; v2 = Double.parseDouble(textField.getText()); //如何将操作符后的数字放入v2中 switch(operator) { case '+': value = v1 + v2; break; case '-': value = v1 - v2; break; case '*': value = v1 * v2; break; case '/': value = v1 / v2; break; default: ; } textField.setText(String.valueOf(value)); break; case '1': //输入为运算数的情况 case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '0': case '.': String text = textField.getText() + key2; textField.setText(text); break; default: ; } } private JTextField textField; private double v1, v2, value; private char operator; private boolean isEqual = false; }
0 0
- JAVA——计算器
- Java—简易计算器
- java——关于计算器
- Java —— 表达式计算器
- JAVA计算器——摘自Java核心技术
- 仿windows计算器——java版
- java小程序——简单计算器
- java 学习 ——计算器小程序
- java 设计作业——简单计算器
- java开发——计算器开发
- JAVA设计计算器——加减乘除
- java学习——小程序——计算器
- 第一个小应用———Java计算器
- java学习—— 制作简单的计算器
- JAVA学习之简单计算器——V1.0
- Java成果之简易计算器——NetBeans
- java-swing编程,实现计算器——支持四则运算
- java图形界面UI设计——简单的计算器
- 事务
- Java中的类和对象
- Unity如何在VS中做代码格式化
- 343. Integer Break
- 表空间数据文件移动操作
- JAVA——计算器
- sublime——各类插件
- UNet系统初次使用——联网Boxing游戏(1)
- fasterrrrrrrrrr
- bean生命周期
- 交换法排序——————将班级学生人数少于40的成绩0---100分进行从高到低排序
- pinpoint 介绍
- sql
- 【STM32新手问题】编译报错