201571030102小学生四则运算

任务源代码github地址:

https://github.com/cyw1229/Calculation.git

需求分析:

  • 程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。
  • 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
  • 练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt中,不要输出额外信息,文件目录与程序目录一致。
  • 当程序接收的参数为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

 

 

原文地址:https://www.cnblogs.com/yuan1229/p/8615005.html