项目代码地址:https://git.coding.net/ranko/23333.git
1. 需求分析面向小学生一个3到5个运算符的四则运算练习的命令行软件随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间每个练习题至少要包含2种运算符在运算过程中不得出现负数与非整数练习题生成好后,将学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不输出额外信息,文件目录与程序目录一致。2. 功能设计基本功能:生成四则运算,并能够将题目输出到文件中,文件目录与程序目录一致。扩展功能:支持有括号的运算式,包括出题与求解正确答案。 支持真分数的出题与运算,支持运算时分数的自动化简,计算过程中与结果都须为真分数。3. 设计实现只用了一个Main类,功能全由对Main类的方法的调用来实现实现随机数与随机运算符生成,用Random函数实现4. 算法详解只用了很简单的判断语句,没有考虑括号的问题看了大佬们使用逆波兰表达式,自己试了一下,扑街了,于是放弃了。5. 测试运行6. 代码片段import java.util.Scanner;import java.util.Random;public class hhhh { public static void main(String[] args) { String[] operate=new String[]{"+","-","×","÷"}; int[] numbers=new int[100]; for(int i=1;i<=100;i++){ numbers[i-1]=i; } Random r=new Random(); Scanner in = new Scanner(System.in); // in.close(); int x = 0; try { x = in.nextInt(); //x = Integer.parseInt(args[0]); if (x < 0 || x > 1000) { System.out.println("请输入0-1000的整数"); return; } } catch (Exception e) { // TODO: handle exception System.out.println("请输入0-1000的整数"); return; } System.out.println("2016012097"); for(int i=0;i
7. 总结
先做的PSP再写的总结,也看了其他同学的PSP,个人用的时间确实是明显超长,而且这么长时间做出来的东西也并没有好用多少,但是也没办法,毕竟重新开始学,技术和脑子在那里,尽力了。不过这个时长的作业真的让我感受到生活和心情受到了影响,不过那也是没办法的事,就这样吧,不想说话。8. 展示PSP PSP2.1 | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
Planning | 计划 | 10 | 30 |
· Estimate | · 估计这个任务需要多少时间,并规划大致工作步骤 | 10 | 30 |
Development | 开发 | 1080 | 1625 |
· Analysis | · 需求分析 (包括学习新技术) | 45 | 115 |
· Design Spec | · 生成设计文档 | 0 | 0 |
· Design Review | · 设计复审 (和同事审核设计文档) | 0 | 0 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
· Design | · 具体设计 | 120 | 180 |
· Coding | · 具体编码 | 735 | 970 |
· Code Review | · 代码复审 | 60 | 970 |
· Test | · 测试(自我测试,修改代码,提交修改) | 120 | 150 |
Reporting | 报告 | 95 | 135 |
· Test Report | · 测试报告 | 5 | 10 |
· Size Measurement | · 计算工作量 | 30 | 45 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 60 | 80 |