考虑到要实现实际生活中的计算器模型,这次实验我选择采用java中的GUI图形用户界面来完成计算器的设计。
简单计算器的实现
通过对java中图形用户界面基础学习来实现基础的计算器。
学习途径链接:https://www.bilibili.com/video/BV1DJ411B75F?from=search&seid=3391209457460119964
创建包和类名后,我们插入实现我们想要的计算器图形界面所需要的组件。
package mysolution;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
JFrame画板
然后我们再来进行计算器的设计。
模拟计算器所用到的按键,对其进行定义和布局。
public class counter extends JFrame implements ActionListener {
/** 计算器上的操作键的显示 */
private final String[] KEYS = {
"7", "8", "9", "/", "sqrt", "4", "5", "6",
"*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };
/** 计算器上的功能键的显示 */
private final String[] COMMAND = {
"(",")","Back", "CE", "C" };
/** 计算器上边的M功能键的显示 */
private final String[] M = {
" ", "MC", "MR", "MS", "M+" };
/** 定义计算器操作键的按钮长度 */
private JButton keys[] = new JButton[KEYS.length];
/** 定义计算器功能键的按钮长度 */
private JButton commands[] = new JButton[COMMAND.length];
/** 定义计算器M功能键的按钮长度 */
private JButton m[] = new JButton[M.length];
/** 计算结果文本框 */
private JTextField resultText = new JTextField("0");
定义运算中的中间变量。
private boolean firstDigit = true;
// 计算的中间结果。
private double resultNum = 0.0;
// 当前运算的运算符
private String operator = "=";
// 操作是否合法
private boolean operateValidFlag = true;
现在开始整体计算器框架界面的实现。
public counter() {
super();
// 初始化计算器
init();
// 设置计算器的背景颜色
this.setBackground(Color.GRAY);
this.setTitle("计算器");
// 在屏幕(800, 140)坐标处显示计算器
this.setLocation(800, 140);
// 不允许修改计算器的大小
this.setResizable(false);
// 设定计算器中各组件大小
this.setSize(450,500);
}
//用画板划分区块组件
JPanel panel1 = new JPanel();
// 采用边界布局管理器,画板里组件之间的水平和垂直方向上间隔都为5
panel1