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. Get host name and port(Object-c)

    /************************************************************************** @param pChHostName: [out ...

  2. IIS 发布之后 您要找的资源已被删除、已更名或暂时不可用。 404.0 解决方法

    步骤一: 如图,我发布网站后,在应用程序池中看到默认的.NetFreamork是2.0版本的,我把它改为4.0后 重新浏览网页就正常了. 如果还是不行,那么进行第二步,

  3. JavaWeb(二)jsp运行原理,九大内置对象

    JSP运行原理: 每个JSP页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ...

  4. ARC和MRC 兼容的单例模式

    一.ARC下的单例实现 说明:在用户实例化的方法控制单次执行,同时开放单例的初始化方法. -(instancetype)init{ self=[super init]; if(self){ stati ...

  5. JSP 页面传值方法总结

    JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧. 试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式. 1. URL 链接后追加参数 <a href=&quo ...

  6. 对vue生命周期/钩子函数的理解

    对于实现页面逻辑交互等效果,我们必须知晓vue的生命周期,才能愉快的玩耍,知道我们写的东西应该挂载到哪里,vue官方给出的api讲解的那叫一个简单啊,如下: 所有的生命周期钩子自动绑定this上下文到 ...

  7. Android 开场动画

    呼,忙了两天了这个,找了各种资料,勉勉强强实现我的功能,这个还得改进一下,线程方面的知识没有学到多少,弄了线程画UI有着各种bug,无奈..就这样跳过先了,哪一天有时间在回来搞一下. 正文———— 要 ...

  8. Ubuntu 14.04下Redis安装报错:“You need tcl 8.5 or newer in order to run the Redis test”问题解决

    Redis简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工 ...

  9. Android事件传递机制详解及最新源码分析——View篇

    摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处. 对于安卓事件传递机制相信绝大部分开发者都听说过或者了解过,也是面试中最常问的问题之一.但是真正能从源码角度理解具体事件传递流程的相信并不多, ...

  10. HBRUSH to RGB value

    GetObject函数返回一个LOGBRUSH结构体,包含了COLORREF结构. LOGBRUSH lgbrush; COLORREF color; GetObject((HBRUSH)GetSto ...