您的位置:首页 > 编程语言

结对编程四则运算(挑战出题)实验总结 20162305

2017-06-04 22:54 381 查看

结对编程四则运算(挑战出题)实验总结

需求分析

编写一个程序代码,实现出题功能,能够在命令行中能够通过输入题目的数量和等级来确定出题的数量和难度。产生的题目能够直接存入到文档当中。

产生的效果如图

(记事本图片)

生成的题目中不含有重复的题目。

设计思路

UML类图

(UML类图)



本次的项目很大一部分都使用了之前的四则运算的代码,像是分数类这种的代码直接拿来就用就可以了。本次的项目主要是让其能够支持命令行中的参数并且实现去除重复题目。

如何实现输入参数?

我利用Integer.parseInt()这一命令,将字符串的数据类型转换成整形的数字。

int amount = Integer.parseInt(args[0]);
int level = Integer.parseInt(args[1]);


如何实现题目去重?

在和张旭升同学讨论这个问题之后,我知道了一个新的方法,叫作indexOf,string中这个方法指的是:字符串的IndexOf()方法搜索在该字符串上是否出现了作为参数传递的字符串,如果找到字符串,则返回字符的起始位置 (0表示第一个字符,1表示第二个字符依此类推)如果说没有找到则返回 -1。利用这个方法,可以先对产生的算式进行计算,将产生的结果放入list当中,然后根据结果是否相同判断算式是否有重复。如果重复的话则返回起始位置,重新产生一个新的算式。

关键代码解释

public void inFile(String fileName) throws IOException {
String issue = "";
BufferedWriter bf = new BufferedWriter(new FileWriter(fileName));
for (String i : list) {
bf.write(i);
bf.newLine();
}
bf.close();
}


这段代码实现的是将产生的题目输入到一个文件当中。BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,而且提供了很实用的readLine,读取一个文本行,从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。在for循环当中利用write方法将算式写入文件当中,利用newLine方法换行。根据命令行输入的参数确定循环的次数,进而确定写入文件的长度。最后close方法结束。

测试方法

利用老师给出的测试工具进行测试。

测试成果截图

(截图)



运行过程截图

(截图)















代码托管

遇到的困难和解决方法

本次项目中我对如何去重不是很会。我和我的结对伙伴陈是奇同学也在一起研究过,可是我们两个也没研究出来个结果。后来我和其他的很多同学也讨论了如何解决这个问题,在大家的帮助下,我们组最终解决了这个问题。感谢这些给我们帮助的同学!

对结对伙伴的评价

陈是奇同学在这部分的学习还需要再多努努力啊,有关的知识我感觉他掌握得还不是很好,一定要好好努力。不过他在编程的时候也总能提出一些好的建议,这点值得表扬。以后的学习还需更加努力认真。

对结对伙伴的评分

我对我的结对伙伴陈是奇打40分,我觉得他在结对过程中,还是有一些知识点掌握的不是很熟练,我觉得他应该再接再励,继续认真好好学习,继续加油!

PSP表

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3020
Estimate· 估计这个任务需要多少时间900600
Development开发2020
· Analysis需求分析 (包括学习新技术)3030
· Design Spec生成设计文档5050
Design Review设计复审 (和同事审核设计文档)6060
· Coding Standard代码规范 (为目前的开发制定合适的规范)7060
· Design· 具体设计140110
· Coding· 具体编码120150
· Code Review· 代码复审5050
· Test· 测试(自我测试,修改代码,提交修改)4040
Reporting报告6040
· Test Report· 测试报告2020
· Size Measurement· 计算工作量3030
· Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划1010[]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: