任务源代码github地址:
https://github.com/cyw1229/Calculation.git
需求分析:
- 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
- 练习题生成好后,将你的学号
- 当程序接收的参数为4时,以下为输出文件示例。
功能设计:
要求随机产生数字
进行规定数量四则运算的产生
要求输出学号
输出至文本(未实现)
为防止结果超出题目设定即超出小学生能力 假如结果设定范围
设计实现:
随机产生三个数,分别是0-10的整数 0-10的整数以及0到3,用0 1 2 3分别表示加减乘除四个符号。
实现过程无法正确导出至文本文档
无法在一个式子几个运算符号 如需加符号需要在源代码中修改
只能设定固定几个运算符号
测试运行:
核心代码:
int a=(int)(Math.random()*y);//随机生成一个1-10的整数
int b=(int)(Math.random()*y);//随机生成一个1-10的整数
int c=(int)(Math.random()*3);//随机生成一个1-4的整数,0表示加法,1表示减法,2表示乘法,3表示除法
产生随机数以及符号
if(c==0)
{
d1=a+b;
System.out.print(a+"+"+b+"= ");
}
if(c==1)
{
d1=a-b;
System.out.print(a+"-"+b+"= ");
}
if(c==2)
{
d1=a*b;
System.out.print(a+"*"+b+"= ");
}
if(c==3)
{
d1=a/b;
System.out.print(a+"/"+b+"= ");
}
if((i+1)%3==0){
System.out.println();
}
进行运算
System.out.println("20157130102");
输出学号
总结:
实验过程中明显感觉到自己编程能力的不足,设计中之前留下的很坏的习惯也没有改掉,不能先进行程序的设计,直接进行了程序的编写,导致编写过程中内容不完成,实现功能不全面,而且Java语言学的不扎实长时间没有使用过java编写程序,花费了很多的时间去重新复习Java。
展示PSP:
PSP2.1 | 任务内容 | 计划完成的时间(h) | 实际完成需要的时间(h) |
---|---|---|---|
PLanning | 计划 | 0.5 | 1 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 0.5 | 1 |
Developmet | 开发 | 7 | 11 |
Analysis | 需求分析(包括学习新技术) | 0.5 | 2 |
Design Spec | 生成设计文档 | 0.5 | 0.5 |
Design Revie | 设计复审(和同事审核设计文档) | 0.5 | 1.5 |
Coding Standard | 代码规范 | 0.5 | 0.5 |
Design | 具体设计 | 0.3 | 0.6 |
Coding | 具体编码 | 3.7 | 5 |
Code Review | 代码复审 | 0.5 | 0.5 |
Test | 测试(自我测试,修改代码,提交修改) | 0.5 | 0.5 |
Reporting | 报告 | 0.5 | 0.5 |
Test Report | 测试报告 | 0.2 | 0.2 |
Size Measurement | 计算工作量 | 0.1 | 0.1 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改机计划 | 0.2 | 0.2 |