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标准型计算器的更多相关文章

  1. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  2. java课程设计团队博客

    java课程设计 本组主题:Calculator(简易计算器) 功能要求:基本实现计算器的功能,可运行加.减.乘.除.求倒数.求平方根.求百分号运算.正负数运算等 一.团队介绍 团队名称:熬夜做不出随 ...

  3. java课程设计(Calculator) 201521123027 陈龙

    1.团队博客链接 http://www.cnblogs.com/DevilRay/p/7064482.html 2.个人负责模块或任务说明 (1)主函数的编写: (2)加减乘除运算的实现: (3)求倒 ...

  4. java(课程设计之记事本界面部分代码公布)

    代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...

  5. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  6. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

  7. java课程设计--We Talk(201521123061)

    java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...

  8. Java 课程设计 "Give it up"小游戏(团队)

    JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...

  9. Java课程设计—象棋

    1. 团队名称.团队成员介绍 团队名称:WY 团队成员: 吴慧婷[组长] 201521123094 网络1514 姚佳希 201521123042 网络1512 2 项目git地址 Java课程设计 ...

随机推荐

  1. IDEA教程(转载)

    https://github.com/judasn/IntelliJ-IDEA-Tutorial

  2. 微信js的引用

    public function seach_accurate(){ import ( 'Class.Wechat', APP_PATH ); $weObj = new WeChat (array()) ...

  3. Android Studio 实用调试技巧

    Android Studio 是个发工具,其自身带调式环境是很强大的,我们要摆脱只会使用Log打印日志的低效的方法,掌握高级调试技巧对每个Android开发者都是很必要的,废话少说,直入正题 调试方式 ...

  4. Django编写RESTful API(一):序列化

    欢迎访问我的个人网站:www.comingnext.cn 关于RESTful API 现在,在开发的过程中,我们经常会听到前后端分离这个技术名词,顾名思义,就是前台的开发和后台的开发分离开.这个技术方 ...

  5. 在使用pydelicious时出现HTTP Error 500: Internal Server Error的错误的解决方法:

    问题:在学习<集体智慧编程>的过程中,第二章中如果你遇到了pydelicious.PyDeliciousException: HTTP Error 500: Internal Server ...

  6. Go 数据结构--二分查找树

    Go 数据结构--二分查找树 今天开始一个Go实现常见数据结构的系列吧.有时间会更新其他数据结构. 一些概念 二叉树:二叉树是每个节点最多有两个子树的树结构. 完全二叉树:若设二叉树的高度为h,除第 ...

  7. PHP支持的协议和封装的协议

    今天主要看了下PHP支持的协议和封装的协议,主要了解了一下PHP中的配置协议方面的东西,弄明白了以前比较模糊的stream_context_create()等上下文方法,还没有完全看完,先将自己的片段 ...

  8. Windbg查看调用堆栈(k*)

            无论是分析程序崩溃原因,还是解决程序hang问题,我们最常查看的就是程序调用堆栈.学会windbg调用堆栈命令,以及理解堆栈中的各个参数的意义就显得至关重要. 上图就是一个典型的Win ...

  9. Volley源码学习笔记

    标签(空格分隔): Volley 创建RequestQueue 使用Volley的时候,我们首先需要创建一个RequestQueue对象,用于添加各种请求,创建的方法是Volley.newReques ...

  10. Response.Write 、RegisterClientScriptBlock和RegisterStartupScript总结

    Response.Write .RegisterClientScriptBlock和RegisterStartupScript总结 Page.ClientScript.RegisterStartupS ...