Java课程设计----仿Windows标准型计算器
JAVA课程设计
仿Windows标准型计算器(By Yanboooooooo)
一、团队介绍:
连燕波[组长]:网络1513学生。
张文博[组员]:网络1513学生。
二、项目git地址
三、项目git提交记录截图
四、项目主要使用技术
- JFrame
五、项目其余特点
一个计算器,与Windows附件自带计算器的标准版功能、界面相仿。
实现基本的数字运算
较传统计算器,使用和携带起来方便。
六、项目功能架构图与主要功能流程图
七、项目运行截图
- 界面
八、项目关键代码
/**
* @author Yanboooooooo
* CE、退格、C功能键
*/
private void ClearEnterButtonActionPerformed(java.awt.event.ActionEvent evt) {
resultText.setText("0");
}
private void BackspaceButtonActionPerformed(java.awt.event.ActionEvent evt) {
String text = resultText.getText();
int i = text.length();
if (i > 0) {
// 退格,将文本最后一个字符去掉
text = text.substring(0, i - 1);
if (text.length() == 0) {
// 如果文本没有了内容,则初始化计算器的各种值
resultText.setText("0");
firstDigit = true;
operateCommand = "=";
} else {
// 显示新的文本
resultText.setText(text);
}
}
}
private void ClearButtonActionPerformed(java.awt.event.ActionEvent evt) {
resultText.setText("0");
firstDigit = true;
operateCommand = "=";
}
/**
* @author Yanboooooooo
* 加减乘除
*/
private void DivideButtonActionPerformed(java.awt.event.ActionEvent evt) {
operateCommand = "/";
op1 = Double.parseDouble(resultText.getText());
//System.out.println("op1="+op1);
firstDigit = true;
}
private void MultiplyButtonActionPerformed(java.awt.event.ActionEvent evt) {
operateCommand = "*";
op1 = Double.parseDouble(resultText.getText());
firstDigit = true;
}
private void SubtractButtonActionPerformed(java.awt.event.ActionEvent evt) {
operateCommand = "-";
op1 = Double.parseDouble(resultText.getText());
firstDigit = true;
}
private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {
operateCommand = "+";
op1 = Double.parseDouble(resultText.getText());
firstDigit = true;
}
/**
* @author Yanboooooooo
* 数字键0-9
*/
private void B1ButtonActionPerformed(java.awt.event.ActionEvent evt) {
String key = "1";
//标识符firstDigit 判断是否是输入数字的第一位
if (firstDigit) {
resultText.setText(key);
//对于小数点的判断
} else if ((key.equals(".")) && (resultText.getText().indexOf(".") < 0)) {
resultText.setText(resultText.getText() + ".");
} else if (!key.equals(".")) {
resultText.setText(resultText.getText() + key);
}
//之后的数字一定不是第一个输入数字
firstDigit = false;
}
/**
*@author Yanboooooooo
* M功能键
*/
private void MemorySaveButtonActionPerformed(java.awt.event.ActionEvent evt) {
operateCommand = "MS";
double op2 = Double.parseDouble(resultText.getText());
memory = op2 ;
}
private void MemoryAddButtonActionPerformed(java.awt.event.ActionEvent evt) {
operateCommand = "M+";
double op2 = Double.parseDouble(resultText.getText());
resultText.setText((op2 + memory) +"");
memory = op2+ memory;
}
private void MemoryRecallButtonActionPerformed(java.awt.event.ActionEvent evt) {
operateCommand = "MR";
resultText.setText(memory + "");
}
private void MemoryClearButtonActionPerformed(java.awt.event.ActionEvent evt) {
operateCommand = "MC";
memory = 0 ;
}
九、尚待改进或者其他想法
代码结构有待优化。
时间有限,能继续改进为科学型计算器。
十、团队成员任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长
任务分配:
连燕波:主要图形界面的排版,添加按键的事件监听,功能函数的编写。
张文博:按键代码编写,主要图形界面的设计,测试运行。
Java课程设计----仿Windows标准型计算器的更多相关文章
- java课程设计(计算器)
JAVA课程 设 计 报 告 1206401-18 瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...
- java课程设计团队博客
java课程设计 本组主题:Calculator(简易计算器) 功能要求:基本实现计算器的功能,可运行加.减.乘.除.求倒数.求平方根.求百分号运算.正负数运算等 一.团队介绍 团队名称:熬夜做不出随 ...
- java课程设计(Calculator) 201521123027 陈龙
1.团队博客链接 http://www.cnblogs.com/DevilRay/p/7064482.html 2.个人负责模块或任务说明 (1)主函数的编写: (2)加减乘除运算的实现: (3)求倒 ...
- java(课程设计之记事本界面部分代码公布)
代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...
- Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)
#课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...
- Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)
Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...
- java课程设计--We Talk(201521123061)
java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...
- Java 课程设计 "Give it up"小游戏(团队)
JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...
- Java课程设计—象棋
1. 团队名称.团队成员介绍 团队名称:WY 团队成员: 吴慧婷[组长] 201521123094 网络1514 姚佳希 201521123042 网络1512 2 项目git地址 Java课程设计 ...
随机推荐
- 关于DB2版本、补丁升级和回退的总结[转载]
首先介绍几个概念 RELEASE的升级就是版本升级,例如9.1→9.5→9.7→10.1,可以跳版本升级,例如9.1→10.1 FIX PACK简称FP,就是打补丁,例如9.7.1→9.7.2,每个版 ...
- php面试题汇总四(基础篇附答案)
1. 什么事面向对象?主要特征是什么? 面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰.主要特征:封装.继承.多态. 2. SESSION 与 COOKIE的区别是什么,请从 ...
- 安卓APP测试容易忽略的地方
我们手机APP测试,主要针对的是android和ios两大主流操作系统,总体上来说android手机型号.版本多,bug也多:ios相对bug少.下面就针对Android说一下最容易忽略的测试点吧. ...
- 分页(将数据库中的多条数据一页一页的显示在jsp页面中)
一.显示数据库中的多条数据为什么要用分页 在真正的开发中,数据库中所存储的数据绝对不像我们平时所写的那样,仅仅有几条数据,而是有几十条甚至上百条,像淘宝京东的用户把都是上几十万甚至百万的.如果这时候在 ...
- MySql的安装与卸载
首先到官网下载MySQL,点击安装 出现的页面如下,依次安装就好了,安装过程中需要修改的只有编码格式,需要填写的是数据库的密码,MySQL的默认用户名为root,默认端口为3306,端口号最好不要修改 ...
- 20个开发人员非常有用的Java功能代码
本文将为大家介绍20个对开发人员非常有用的Java功能代码.这20段代码,可以成为大家在今后的开发过程中,Java编程手册的重要部分. 1. 把Strings转换成int和把int转换成String ...
- 对vue生命周期/钩子函数的理解
对于实现页面逻辑交互等效果,我们必须知晓vue的生命周期,才能愉快的玩耍,知道我们写的东西应该挂载到哪里,vue官方给出的api讲解的那叫一个简单啊,如下: 所有的生命周期钩子自动绑定this上下文到 ...
- vue-cli脚手架npm相关文件解读(4)utils.js
系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...
- SourceTree 简单使用 for Mac
系统版本: 10.12.6 SourceTree版本:2.3.1 (中文版)SourceThree安装包 密码:9jc3 传送门 目录 1.创建gitHub账号和仓库 2.sourceTree管理gi ...
- Maven 项目 @Override must override a superclass method` 问题
问题 Maven 项目 @Override must override a superclass method` 原因 JDK 在1.5以上的版本,才支持@Override 注解 解决方法 (1)po ...