四则运算实验报告二

实验名称:结对编程项目-四则运算
实验时间:2017.5.16
实验人员:20162313苑洪铭(结对搭档20162309刑天钺)
指导老师:娄老师、谢老师,王老师
实验内容: 第二周(2017-5-21 23:59截止)输出整体总结博客
设计思路
真分数(题目生成/题目运算判题)
JUnit测试(idea环境测试)
扩展需求
实验步骤:在第一周实验的基础上,对四则运算的代码增加难度级数,不同的级数需要生成不同类型的题目,分级过程中,题目去重也是需要考虑的一个环节,也放在难度级数这一类别中去完成。题目运算(判题)可独立使用转换为后缀表达式(当然你也可以直接计算中缀表达式),这是第二周实验的一个重点也是难点,中缀转后缀之后利用栈的方法进行计算,这种方式符合教材中的指导思路,对巩固教材知识有很大帮助。首先创建的是计算用的主类,

编写过程中需要注意的一点object类的格式规范,在运行的过程中,系统报错,对产生的算式无法计算结果。调用Integer.parseInt方法来更改格式,在这里我将它改为了int格式,修改完毕后就可以正常运行了。

因为本次实验分为两次完成,对运算符的加入是整个程序较为核心的部分,但代码的编写比较常规,这里使用到了.equals方法,同样这里需要if else循环语句,语法结构也相同,需要的是替换计算时的符号,这里String了type类,两个double浮点数类型的值(start和end)。难度级数的引入,考察到了每个人自己的四则运算程序的整体掌握情况,根据自己的水平完成代码。

多语言部分因为能力有限,仅仅有中英文。

在本周对代码的修改中,刑天钺同学新加入了运算过程中的有无括号问题,这里在查阅了资料后使用了Pattern方法,先输入if-else的基本语句,然后是用patten.compile定义一个新的变量,这里的一部分是较为陌生的方法,在网上查阅了对应的部分知识,了解到patten和matcher两者需要合作,而patten的类方法只支持了正对表达式的分组支持,单独的patten在使用有了很大的限制。这里补充了关于patten方法的一些使用实例,包括使用方法,以及在四则运算程序的对应代码的编写。的确给了我们很大的帮助。



在完善了程序的一些需要改进的地方之后,再需要做的就是运行程序了,增加代码的过程中会出现一些错误,需要注意几个比较重要的点:
1.代码的量比较大,在多次定义变量时,需要注意调用的方法时public或private要注意变名的一致性。
2.继承的时候注意需要调用的方法,完全的继承会对运行产生干扰。同时,要注意计算的先后顺序问题,有无括号要分不同情况。
3.在使用新的类和新的方法时,需要注意调用过程的合理性,避免一些逻辑上的语法错误,就比如patten类的使用具有一定的条件性。

实验过程中遇到的问题:
1.新加入的Mathmatic类无法运行,经过检查并不是编写上的错误(idea并没有报错),idea的运行栏里没有运行的选择。
2.测试类SizheTool类的时候,调用Integer.parseInt时出现变量格式不符合。

解决方案:
1.新编写的Mathmatic类需要调用主类size中的一个方法,选择题目个数的scan.nextInt,这里在调用的时候需要进行修改,在变量名没有改变的前提下调用。
2.将格式改为自己定义的fbi(无特殊意义,仅作过渡使用),因为Integer 类在对象中包装了一个基本类型 int 的值,Integer 类型的对象包含一个 int 类型的字段。 此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。修改过后可以正常运行。

结对情况:
本次实验我的结对搭档20162309刑天钺同学,他能够很好的完成很多我疏忽的东西,发现他们并且指出他们,最终让我们能够修正这些或是错误或是冗杂的代码。通过和刑天钺同学的学习,我收获了很多知识,刑天钺同学仍然有部分不足的地方,例如,他对于格式问题存在一些误解,对于parseInt方法还有一些不了解,同时,因为他的IDEA存在一些问题,因此他接触IDEA并不多,需要更多的练习IDEA的使用。

结对搭档20162309刑天钺同学博客地址:http://www.cnblogs.com/Metwox/

本次实验的PSP表格:

PSP2.1 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时)
Planning 计划 14 12
· Estimate · 估计这个任务需要多少时间 9 8.5
· Analysis · 需求分析 (包括学习新技术) 2 2
· Design Spec · 生成设计文档 0.67 0.5
· Design Review · 设计复审 (和同事审核设计文档) 0.5 0.5
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1 1.5
· Design · 具体设计 3 3
· Coding · 具体编码 3 4
· Code Review · 代码复审 2 1.5
· Test · 测试(自我测试,修改代码,提交修改) 1 1
Reporting 报告 1 1
· Test Report · 测试报告 2 2.5
· Size Measurement · 计算工作量 1 2
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 2 2

实验总结:
本次实验我们基本完成了关于四则运算的代码编写,在整体上大致构成了关于像四则运算一类的代码的框架,需要总结的部分大致分为一下几点:
1.在调用方法时,不能生搬硬套,要根据本身代码的具体情况对包括变量名以及变量类型进行修改,同时声明变量要注意变量类型。
2.关于patten类的调用环境问题,以及于matcher的协同使用问题。
3.String类的str.Value,关于double改变格式和返回值的问题


在网上查阅了资料,并且结合了自己的代码。

本次实验考验了我们的实际动手能力,也考察了我们的自学能力,也注重了我们对于java基础知识的理解情况。我们认识到,在编程的过程中,我们不仅要在亲自操作中学会检测、修改、编写代码,包括测试代码的编写,还需要结合网上的知识进行取长补短,网上有很多可以汲取的优质的可用的资源。
添加内容
关于上一周就完成的这周内容方面 这周直接引用过来



posted @ 2017-05-21 20:35  DeforeSya  阅读(139)  评论(5编辑  收藏