从 0 到 1 实现一个简单计算器
前言
学习编程语言最重要的就是实践。很多小伙伴在学习完编程语言后,一直停留在基础阶段,只懂一大堆理论知识,而不懂得实践。那么,今天我们一起来动手做一个小计算器,回顾下学习过的知识,同时这也是很多大学计算机专业的期末作业,应该尝试动手并完全理解它,学废了记得点赞收藏加关注哦。
开始动手
本次实验会用到 Java Swing 图形组件进行开发
主要知识点
Java Swing 界面的编程
计算器运算逻辑的实现
一、项目创建
打开 Eclipse,在文件的菜单 File 选择 New -> Java Project

2.在 Project name 一栏填写项目名称 Calculator(自定义),并点击 Finish 按钮完成创建

3.创建一个包 package

4.在创建好的项目目录 src 上右键点击,菜单中选择 New -> Class 来创建一个类

5.在新建类的对话框中填写类名 Calculator(自定义),点击 Finish 按钮完成创建

二、代码部分
未接触过 Swing 的小伙伴可以先去下面的链接学习下入门的基础知识
*http://c.biancheng.net/swing/*
1.编写响应逻辑的实现
定义存储当前被按下的操作数和操作符,result 存储运算的结果

定义状态开关

定义 JButton 变量,存储按下的键,定义一个 Vector,储存所有的输入

UI 组件创建
创建主窗体,按钮和文本框

3.在构造器中完成等效键的设置、UI 组件添加进容器、事件处理程序的设计、计算逻辑的实现以及窗口关闭事件的代码编写的工作
等效键的设置(即可以通过对应的键盘按键来代替点击它)

文本框对齐

UI 组件添加进容器


事件处理程序
数字键处理逻辑

运算符处理逻辑

清除键处理逻辑

等于键处理逻辑

小数点处理逻辑

注册监听器

窗口关闭

计算逻辑


三、运行项目
实现效果如下

四、项目总结
本次实践练习如何使用 Swing 进行图形界面的编程以及一些计算逻辑的实现,也只是实现了基本的计算器功能的实现,感兴趣的可以自己动手加一点东西,比如运算符优先级的实现(需要数据结构的实现),进一步提高思考和编程的能力。
本次项目的源代码已编写打包好。 公众号 CodeVald 后台回复 计算器 即可领取。
有收获的小伙伴记得点赞收藏加关注哦。笔芯。
版权声明: 本文为 InfoQ 作者【codevald】的原创文章。
原文链接:【http://xie.infoq.cn/article/f84e3ab6130c7e05bb809a278】。文章转载请联系作者。
评论