2016012088+小学四则运算练习软件项目报告
Coding.net仓库地址: https://coding.net/u/anvozo/p/fourOperation/git?public=true
一、需求分析
1.程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。
2.每个练习题至少要包含2种运算符,练习题在运算过程中不得出现负数与非整数,比如不能出 3÷5+2=2.6,2-5+10=7等算式。
二、基本功能
1.随机数必须在0和100之间
2.运算符在3到5个之间
3.每道题至少包含2中运算符
4.程序要有判优功能,运算过程不能出现负数与非整数
5.应保证当运算式带括号时程序能进行运算
三、功能设计
1.calculator类是在java中的一个简易计算器,具有加减乘除功能
2.create类 java中创建对象有五种方式,在本题中使用的是new关键字的方法
3.Main函数该程序是将main函数作为程序的入口,程序是从main函数开始执行的
四、算法详解
1.创建对象 public static void creatFile(int n){ try{ File file = new File("../result.txt"); if (file.exists()) { file.delete(); } if(file.createNewFile()){ FileOutputStream txtfile = new FileOutputStream(file); PrintStream p = new PrintStream(txtfile); p.println("2016012088"); for(int i=0;i<n;i++){ //System.out.println("!"+Produce.produce()); p.println(creat.creatproduce()); } txtfile.close(); p.close(); System.out.println("文件创建成功!"); } } 2.主函数 public class Main { public static void main(String[] args) { int n = 0; try { n = Integer.parseInt(args[0]); if(n>1000||n<1){ System.out.println("必须输入大于1小于1000的正整数"); return; //结束运行 } }catch (Exception e){ //输入非数字字符等 System.out.println("必须输入数字"); return; //结束运行 } Creat.File(n); } }
五、总结
前面的过程都很顺利,但是到了运行测试环节却出了问题,不知道是输入方法的问题还是项目的问题,但是现在没时间了。。。
六、PSP展示
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
计划 |
10 |
15 |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
10 |
15 |
开发 |
300 |
480 |
· 需求分析 (包括学习新技术) |
5 |
20 |
· 生成设计文档 |
10 |
10 |
· 设计复审 (和同事审核设计文档) |
10 |
8 |
· 代码规范 (为目前的开发制定合适的规范) |
10 |
15 |
· 具体设计 |
15 |
30 |
· 具体编码 |
300 |
400 |
· 代码复审 |
15 |
25 |
· 测试(自我测试,修改代码,提交修改) |
40 |
80 |
报告 |
10 |
20 |
· 测试报告 |
5 |
8 |
· 计算工作量 |
5 |
10 |
· 事后总结, 并提出过程改进计划 |
10 |
15 |
我在这次实践中发现了很多我自身的不足,比如基础知识十分薄弱,动手能力特别差,逻辑不够严谨。。。等等很多问题。我要感谢这次作业让我收获颇多,但是更要感谢老师及助教们对这次项目的认真负责。