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. 最短路 - floyd算法

    floyd算法是多源最短路算法 也就是说,floyd可以一次跑出所以点两两之间的最短路 floyd类似动态规划 如下图: 用橙色表示边权,蓝色表示最短路 求最短路的流程是这样的: 先把点1到其他点的最 ...

  2. win10 安装 mysql解压版安装步骤

    参考资料:win 10 安装 mysql 5.7 网址:http://blog.sina.com.cn/s/blog_5f39af320102wbk0.html 本文参考上面的网址的教程,感谢作者分享 ...

  3. 简单易上手的Bootstrap

    什么是Bootstrap? Bootstrap是一个web框架.Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT ...

  4. java创建目录与文件

    java创建目录与文件: package com.led.file; import java.io.File; import java.io.IOException; public class Fil ...

  5. js事件汇总

    常用事件: 1.鼠标事件:onClick,onDblClick,onMouseDown,onMouseUp,onMouseOut,onMouseOver ·onClick:单击页面元素时发生,onDb ...

  6. selenium,html高宽设置成了0,会影响元素可见性,怎么手动修改某个元素的高宽?

     问题:要js的话,需要用webelment,此时元素已经是不可见了   ((JavascriptExecutor) this.driver).executeScript("argument ...

  7. H5性能测试学习

    工欲善其事,必先利其器,在做H5前端性能测试之前,选择合适的工具能让我们的测试工作事半功倍.本文要提到的工具有两类: 一类是抓包工具,如Fiddler.Charles等.这类工具不仅可以抓包,还可以对 ...

  8. 【搬运工】——初识Lua(转)

    使用 Lua 编写可嵌入式脚本 Lua 提供了高级抽象,却又没失去与硬件的关联. 虽然编译性编程语言和脚本语言各自具有自己独特的优点,但是如果我们使用这两种类型的语言来编写大型的应用程序会是什么样子呢 ...

  9. JAVA HashMap的实现原理

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt359 1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存 ...

  10. 求N个元素的子集合个数

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt406 一个集合有n个元素,请问怎么算出来它的子集(包括空集和本身)是 2的n ...