1.1 实验内容
本次实验利用 Java 开发一个可以进行简单的四则运算的图形化计算器,会使用到 Java Swing 图形组件进行开发。
1.2 实验知识点
- Java Swing 界面编程
- 计算器逻辑运算实现
1.3 实验环境
本实验环境采用带桌面的 Ubuntu Linux 环境,实验中会用到环境或软件:
- JDK 1.8
- Xfce 终端
- Eclipse /// Idea编辑器
1.4 适合人群
本课程难度为一般难度,属于初级课程,适合具有 Java 基础和 Swing 组件编程知识的用户学习。
如果你之前没有了解过 Swing 开发,可以先学习《JDK 核心 API》https://www.lanqiao.cn/courses/109
package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.math.BigDecimal;
import java.util.Vector;
public class math {
// 操作数1,为了程序的安全,初值一定设置,这里我们设置为0。
String str1 = "0";
// 操作数2
String str2 = "0";
// 运算符
String signal = "+";
// 运算结果
String result = "";
// 以下k1至k2为状态开关
// 开关1用于选择输入方向,将要写入str1或str2
int k1 = 1;
// 开关2用于记录符号键的次数,如果 k2>1 说明进行的是 2+3-9+8 这样的多符号运算
int k2 = 1;
// 开关3用于标识 str1 是否可以被清0 ,等于1时可以,不等于1时不能被清0
int k3 = 1;
// 开关4用于标识 str2 是否可以被清0
int k4 = 1;
// 开关5用于控制小数点可否被录入,等于1时可以,不为1时,输入的小数点被丢掉
int k5 = 1;
// store的作用类似于寄存器,用于记录是否连续按下符号键
JButton store;
@SuppressWarnings("rawtypes")
Vector vt = new Vector(20, 10);
// 声明各个UI组件对象并初始化
JFrame frame = new JFrame("Calculator");
JTextField result_TextField = new JTextField(result, 20);
JButton clear_Button = new JButton("Clear");
JButton button0 = new JButton("0");
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
JButton button5 = new JButton("5");
JButton button6 = new JButton("6");
JButton button7 = new JButton("7");
JButton button8 = new JButton("8");
JButton button9 = new JButton("9