使用java编程从0到1实现一个简单计算器
作者:codevald 发布时间:2023-12-06 04:47:53
学习编程语言最重要的就是实践。很多小伙伴在学习完编程语言后,一直停留在基础阶段,只懂一大堆理论知识,而不懂得实践。那么,今天我们一起来动手做一个小计算器,回顾下学习过的知识,同时这也是很多大学计算机专业的期末作业,应该尝试动手并完全理解它。
开始动手
本次实验会用到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进行图形界面的编程以及一些计算逻辑的实现,也只是实现了基本的计算器功能的实现,感兴趣的可以自己动手加一点东西,比如运算符优先级的实现(需要数据结构的实现),进一步提高思考和编程的能力。
来源:https://www.cnblogs.com/codevald/p/14383561.html


猜你喜欢
- 一、效果图:二、导入 jar 包1.由于这是大神写好封装起来的一个框架,所有我们使用前得先下载相关的 jar 包第一种:maven<!
- 本文实例为大家分享了Android自定义双向滑动控件的具体代码,供大家参考,具体内容如下先看一下效果图1.SeekBarPressure工具
- Android TimePicker 直接输入的问题解决方案TimePicker 提供了上下的按钮,点击按钮,相关操作都是正常的。但是如果直
- 原来一直使用shiro做安全框架,配置起来相当方便,正好有机会接触下SpringSecurity,学习下这个。顺道结合下jwt,把安全信息管
- 学习背景进入正文学习字符串的intern()方法之前,先给下这4个问题,看下自己是否都知道答案?1、String s1 = “a” + “b
- 纯Java代码模拟Hibernate一级缓存原理,简单易懂。import java.util.ArrayList;import java.u
- 基于Java语言实现Socket通信由于近日项目需求,需要在服务器中增加Socket通信的功能,接收硬件设备发送的心跳包和相关数据,因此又重
- 枚举类型是一种的值类型,它用于声明一组命名的常数。(1)枚举的声明:枚举声明用于声明新的枚举类型。访问修辞符 enum 枚举名:基础类型&n
- 一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 
- 一、方法这里我们用两种方法来实现跑马灯效果,虽然实质上是一种实质就是:1、TextView调出跑马灯效果2、TextView获取焦点&nbs
- package cn.response;import java.awt.Color;import java.awt.Font;import
- 目录基于Java的guava开源库工具类1、guava的maven配置引入 2、LoadingCache3、Multimap 和
- 最近一直在看RecyclerView,较之ListView它确实是灵活多变,给予开发者更多自定义的空间,比如:需要添加头部和尾部、item的
- SchedulingConfigurer实现动态定时,导致ApplicationRunner无效问题描述当通过SchedulingConfi
- 上一节我们完成了使用DataGrid显示所有商品信息,这节我们开始添加几个功能:添加、更新、删除和查询。首先我们实现下前台的显示,然后再做后
- 一、简介1、DES 简介DES 全称为 Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,197
- 汉诺塔问题是学习递归的入门问题,这里用C#简单实现了一个汉诺塔之间传递盘子的小程序通过简单绘图实现盘子在几个塔之间的转换:namespace
- 稍微深入了解过Android的开发者都知道,Android中每个APP的中的所有组件的生命周期状态都是由ActivityManagerSer
- 由于在项目中要实现用户注册的邮箱激活以及忘记密码重置密码功能,所以通过查阅资料做了一个简单的设计和实现。邮箱激活背景:几乎每个网站或论坛之类
- 不过我写的比较草率,代码结构不是很好,也没有体现OOP的思想,这几天有空会重构一下。先把代码发出来:public class MatrixC