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课程设计 ...
随机推荐
- MySQL表空间集
--MySQL表空间集 ----------------------2014-09-20 1. 收缩ibdata的方法,目前MySQL依然没有提供收缩ibdata的方法,只能重构,下面是5.7的步骤. ...
- 关于mysql中的数据查询—嵌套查询
嵌套查询 一个SELECT FROM WHERE语句称为一个查询块. 嵌套查询:将一个查询块嵌套在另一个查询块的WHERE子句或者HAVING短语的条件中的查询. 注:子查询的SELECT语句中不 ...
- 关于JS脚本语言的基础语法
JS脚本语言的基础语法:输出语法 alert("警告!"); confirm("确定吗?"); prompt("请输入密码");为弱 ...
- DLL基础
Visual C++在创建DLL导出函数时,可能会对原始的函数名做修改.例如: int WINAPI Add(int nLeft, int nRight) 导出后的函数名称是_Add@8. 下面两种方 ...
- apache-DOS
对DSO的理解还不是特别深刻,所以把自己查来的资料整理一下并想就此作一个总结.暂时先把资料堆到blog里面了,有时间再整理总结. 一.以下源于<Apache HTTP Server Vers ...
- 手机自带输入法emoji表情的输入,提交及显示——纯前端解决方案
很早之前就遇到过需要前端支持用户输入并提交emoji表情的问题,一直没有尝试去解决,今天再一次狭路相逢,该来的躲不过,那就着手解决吧. 大多数emoji表情都是4字节的utf-16编码(辅助平面字符, ...
- Java温故而知新-杨辉三角形
Java温故而知新-杨辉三角形 一. 先说需求 需求 打印输出杨辉三角形,行数可变,支持50行内的任意数. 预期结果如图所示 1 这是第几行呢,是第1 1 1 这是第几行呢,是第2 1 2 1 这是第 ...
- 为测试赋能,腾讯WeTest探索手游AI自动化测试之路
作者:周大军/孙大伟, 腾讯后台开发 高级工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 做好自动化测试从来不件容易的事情,更何况是手游的自动化测试,相比传 ...
- CAP和BASE理论
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt370 1. CAP理论 2000年7月,加州大学伯克利分校的Eric Bre ...
- C#将Excel数据表导入SQL数据库的两种方法(转)
最近用写个winform程序想用excel 文件导入数据库中,网上寻求办法,找到了这个经过尝试可以使用. 方法一: 实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环 ...