[学习总结]程序设计语言_Java_综合设计报告.docVIP

[学习总结]程序设计语言_Java_综合设计报告.doc

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[学习总结]程序设计语言_Java_综合设计报告

昆明理工大学计算中心 《程序设计语言(Java)》课程综合设计报告 课题名称:制作DIY计算器 学院:冶金与能源工程 专业班级:热能与动力工程10级 指导教师:王樱子 学号 姓名 小组自评成绩 教师评定成绩 201010202301 XXX 85 一、问题描述(简单描述和说明要解决的问题) 如何设计一个计算器外壳,即按钮布局、输出框设置等。 用什么方法记录下输入的式子及如何输出。 怎样防止一个没意义的式子产生,如不能出现:“++”、“000”“0.0.00”等没意义的式子。 有时候不能防止一个错误式子的产生,如:除数为零、括号不完整、式子最后还有运算符等,由于在输入的时候不能判断,又怎么将错误提示抛出来。 不慎输入一个错误字符后怎么返回一步。 如何将式子计算出来。 计算后如何进行归零处理。 二、问题分析及程序设计思路 对待解决问题进行分析,并据此给出程序设计的思路,包括问题分解,程序设计的思路,涉及的类和功能模块及其算法说明: 对于外壳设置,用NetBeans中创建一个JFrame窗体,采用BorderLayout布局和流布局就可以轻松对按钮、输出框等进行设置。 对于记录输入的式子,可以使用字符串型表达式记录下来,先声明一个字符串remb,用以记录输入的字符串,每按一个按钮,采用remb += “”来记录输入的数字或运算符;用setText()将要输出的内容输出。 对于怎样防止一个没意义式子的产生,就需要大量的运用if语句及for循环语句来判断。 对于防止“++”的产生,应用charAt(remb.length()-1)方法,判断最后已有字符串末尾是否已有运算符。 对于防止“000”的产生,就需要找到已输入式子中最后一个运算符,运用remb.lastIndexOf(“运算符”)找到各运算符在式子中的最后位置,用一个数组记录下来,在用for语句将最大的索引max求出来,再用charAt(max)即可求出最后一个运算符是什么,然后判断接在运算符后的字符是否为“0”,若为零,则再按“0”号键是不做任何反应。 对于防止“0.0.00”这样一个数中有多个小数点的产生,先用以上(2)的方法,找到最后一个运算符,再用String st = remb.substring(max)找出最后一个数,if(st.indexOf(.) != -1)判断最后一个数中是否有‘.’。 (1)对于判断分母是否为零,先找出第一个除号的索引,可以这样求:int i = remb.indexOf(”÷”,0)Double.parseDouble(newstring)将除数变为double型,再判断numb是否为零,用if(numb ==0)判断,若为零,在输出框中提示“存在除数为零!”。 (2)对于括号不完整,只需用for语句: int ct1 = 0; for(int start = 0;start = sign.length();start = i+1){ i = s.indexOf( (,start); if(i != -1){ ct2 ++; } else{ break; } } 分别找出式子中的“(”个数ct1和“)”个数ct2,判断ct1和ct2是否相对即可,若不想等,输出错误提示信息。 (3)对于式子最后还有运算符,只要用语句charAt(remb.length()-1)即可判断。 对于不慎输入错误字符的修改很简单,只需要remb中的字符串重新赋值即可,用String s = jTextField1.getText()将输入的字符串取出,再用remb = s.substring(0,s.length()-1)即可实现退后一步。 对于如何将式子计算出来这个问题,由于式子是字符串型的,有点麻烦。 首先,设法将字符串分开,创建两个向量(由于向量便于对其中的元素进行修改,即便于计算)Vector shuzi与Vector ysf,用以保存数字和运算符,对表达式采用for循环,遇到数字则放入向量shuzi中,shuzi.add(x,zf),其中“zf”为累加的数字,continue继续循环,判断下一字符,如何是运算符则放入ysf中,ysf.add(y,String.valueOf(zifu)),继续循环,每添加一次数字(运算符),对shuzi(ysf)中的x(y)

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档