- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java科学计算器设计介绍.ppt
java科学计算器设计
java大作业报告
问题分析
有区别于其他小组的问题。
我们小组的问题偏向于算法;其他小组偏向于现有工具的使用。
我们小组的困难在于怎么去处理给定的字符串,给出相对固定的结果;其他小组偏向于既定知识块的学习与使用。
优势与劣势:
优势在于:计算器是一个经典问题吗,因此网上现 成的案例比较多。
劣势在于:分值相对较低。
几个问题
输入的问题?
字符串如何进行计算?
数字位数的问题?
运算优先级的问题?
括号的问题?
输入的问题
java.util.Scanner
主要功能:简化文本扫描
使用方法:
当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。
字符串如何进行计算
java.math.BigDecimal
主要功能:超过16位有效位的数进行精确的运算
主要被我们用到的功能:
BigDecimal一共有4个构造方法
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。
数字位数的问题
思路:
从不是运算符号开始扫描,一直扫描到下一个字符是运算符号为止。
运算优先级的问题
比较
因为只有两个优先级,如果扫描到了两个运算符号,前面的那个运算符号优先级大于等于后面那个符号的优先级,即可完成本次计算。
括号的问题
只要整个不带括号的计算器完成,这个问题就不再是问题了。
原因很简单:
你没次只需要扫描出一个括号内的字符串,然后把它交给你已经完成的不带括号的计算器就可以了。
从最里面的括号开始,一个个把所有的括号全部去掉。
怎么完成???
扫描‘)’,然后倒序扫描‘(’;计算完成后,替换掉。
逐步把所有的括号去掉,变成没有括号的问题。解决!
文档评论(0)