1.团队课程设计博客链接

http://www.cnblogs.com/I-love-java/p/7058752.html

2.个人负责模板或任务说明

1.初始化业务逻辑。

2.开方、正负、清零、退格、数字内容输入拼接,输出结果的实现。

3.四则运算算法的实现。

4.每个按钮返回对应的业务(每个按钮与对应算法的对接)。

3.自己的代码提交记录截图

4.自己负责模块或任务详细说明

1.每个按钮返回对应的业务(每个按钮与对应算法的对接)

这个模块实现了按钮与具体功能间的交互对接,即是通过equals方法判断按下的按钮对应的是哪个功能,具体代码如下:

public String buttonMethod(String buttonText, String text) throws Exception {

		if (buttonText.equals("C"))
return clearAll();//当按钮输入为C,调用clearAll函数
else if (buttonText.equals("Sqrt"))
return Sqrt(text);//当按钮输入为CE,调用clear函数
else if (buttonText.equals("+/-"))
return setNegative(text);//当按钮输入为"+/-"调用setNegative函数
else if (buttonText.equals("BS"))
return backSpace(text);//当按钮输入为BackSpace,调用backSpace函数
else if (numString.indexOf(buttonText) != -1)//判断按钮输入的值在numString字符串中有无出现
return numberClicked(buttonText, text);//若if语句成立,调用numberClicked函数进行数字的输入
else if (opString.indexOf(buttonText) != -1)//判断按钮输入的值在opString字符串中有无出现
return setOp(buttonText, text);//若If语句成立,调用setOp函数进行操作符号的输入
else if (buttonText.equals("="))
return judgeEqual(text);//当输入=号时,调用judgeEqual函数计算四则运算结果
else
return null;
}

2.四则运算算法的实现。

这块内容说白了就是调用了BigDecimal的方法来实现,将double-->BigDecimal,最后再double输出实现高精确度计算。代码部分如下


public static double multiply(double num1, double num2) {
BigDecimal first = getBigDecimal(num1);
BigDecimal second = getBigDecimal(num2);
return first.multiply(second).doubleValue();
} public static double divide(double num1, double num2) {
BigDecimal first = getBigDecimal(num1);
BigDecimal second = getBigDecimal(num2);
return first.divide(second, 10,
BigDecimal.ROUND_HALF_UP).doubleValue();
} //数据类型转换double-->BigDecimal
private static BigDecimal getBigDecimal(double number) {
return new BigDecimal(number);
}

3.开方、正负、清零、退格、数字内容输入拼接,输出结果的实现。

这一块即是编写各个功能的函数,在“每个按钮返回对应的业务”模块中调用即可。举例开方功能代码如下:

//开方算法
public String Sqrt(String text) { this.isSecondNum = true; // 将isSecondNum标志为true
return String.valueOf(Math.sqrt(Double.valueOf(text))); // 计算结果并返回
}
}

5.课程设计感想

虽然只是做了个评分D的计算器,但还是在课设期间感受到开发员的不易,有很多想法感觉上去很创新很有吸引力想起来很简单,但是到了去实现的时候就发现总会碰到这样那样的问题,编程之余与队友之间的沟通也十分重要,否则在模块的交互段就会显得十分苍白。总的来说还是要感谢这次课设,让我们有了一次实践自己的机会。

JAVA课程设计--简易计算器(201521123022 黄俊麟)的更多相关文章

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

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

  2. Java课程设计----仿Windows标准型计算器

    JAVA课程设计 仿Windows标准型计算器(By Yanboooooooo) 一.团队介绍: 连燕波[组长]:网络1513学生. 张文博[组员]:网络1513学生. 二.项目git地址 码云项目地 ...

  3. java课程设计团队博客

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

  4. Java课程设计博客(团队)

    Java课程设计博客(团队) 1. 团队/项目名称 使用JAVA实现简易HTTP服务器 2. 团队成员 组长:林一心 组员:张杭镖 3. 项目git地址 https://github.com/oran ...

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

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

  6. Java课程设计(2019版)

    参考资料 Java课程设计参考资料(2018-12-26更新) Java课程设计常见问题(程序部署.数据库.JSP) 项目开发参考-阿里巴巴Java开发手册(正式版) 更多参考资料请查看QQ群文件中的 ...

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

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

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

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

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

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

随机推荐

  1. 深度理解div+css布局嵌套盒子

    1. 网页布局概述 网页布局的概念是把即将出现在网页中的所有元素进行定位,而CSS网页排版技术有别于传统的网页排版方法,它将页面首先在整体上使用<div>标记进行分块,然后对每个快进行CS ...

  2. 原创:使用脚本获取本机IP地址

    接来下又到了老葵花哥哥开课时间了 今天讲的有些简单 可以是涂鸦之做 也可以是无聊的发呆的杰作 我想取IP地址在大家生活中很常用 今天就给大家介绍我的六种使用脚本取IP地址的方法 很多人想问我 为什么是 ...

  3. fedora23安装配置记录

    一.安装fedora 1.下载fedora的镜像文件,个人比较喜欢gnome,因而直接下载工作站版本了! http://start.fedoraproject.org/这个是浏览器首页,提供了fedo ...

  4. 编译安装 Python3.6.1

    操作系统 centos7.2 系统自带python版本 2.7.5 说明:编译python3的过程是简单的但比较慢,可以用连字符 && ,这样可以先去(忙其他的|喝茶|听音乐|聊妹), ...

  5. 优秀的PE工具收藏

    优秀的PE工具收藏... ----------------------- ------------------------------------------<排名不分先后..自己喜欢的就是最好 ...

  6. uva11991 Easy Problem from Rujia Liu?

    Though Rujia Liu usually sets hard problems for contests (for example, regional contests like Xi'an ...

  7. Linux程序写入oralce数据库中文显示为问号??? 代码实现设置环境变量!

    Linux程序写入oralce数据库中文显示为问号??? 1.问题介绍 根本原因是字符集的问题,是数据库的字符集和写入程序的linux系统的字符集不一致导致: 但是用export NLS_LANG=& ...

  8. 安装python+setuptools+pip+nltk

    环境:Win10 64 + python 2.7 32 bit Source installation (for 32-bit or 64-bit Windows) 1.Install Python: ...

  9. 两台主机之间单向Ping不通的问题

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 ...

  10. Centos 6 PXE安装

    author:JevonWei 版权声明:原创作品 192.168.198.134作为安装服务器,由httpd服务共享安装程序 192.168.198.134作为dhcp服务器,客户机获取IP 一.安 ...