博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.四则运算题目自动生成程序
阅读量:6493 次
发布时间:2019-06-24

本文共 3063 字,大约阅读时间需要 10 分钟。

 

a.需求分析:

 


 

1.除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24

2.运算符为 +, −, ×, ÷
3.并且要求能处理用户的输入,并判断对错,打分统计正确率。
4.要求能处理用户输入的真分数, 如 1/2, 5/12 等
5.使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
Myapp.exe -n 10

b.功能设计

 


 

1.生成自定义数目算术题。

2.支持整数和分数的加减乘除。

3.输入答案判断对错,错误后写出正确答案。

4.最后统计正确率。

c.设计实现

 


 

程序就一个main函数包含全部功能,采用循环和if判断实现算法。

d.代码说明  (congding.ent:https://git.coding.net/wangrf/java-sizeyunsuan.git

 


 

.随机数与运算符号

1         int x=1+(int)(Math.random()*10);         2         int y=1+(int)(Math.random()*10);     3         int z=1+(int)(Math.random()*80);//产生运算符 4         int q=1+(int)(Math.random()*10); 5         int w=1+(int)(Math.random()*10);

 .产生算式

1         if( z<=10 ) {
//整数部分 2 strz = "+"; 3 sum=x+y; 4 t=1; 5 } 6 if( z>10 && z<=20 ) { 7 strz = "-"; 8 sum=x-y; 9 t=1;10 }11 if( z>20 && z<=30) {12 strz = "×";13 sum=x*y;14 t=1;15 } 16 17 if( z>30 && z<=40 ) {18 19 strz = "÷";20 sum1=String.valueOf(q)+'/'+String.valueOf(w);21 t=1;22 }23 if( z>40 && z<=50 && x
50 && z<=60 && x
60 && z<=70 && x
70 && z<=80 && x

.输出与校验

1         String strx = String.valueOf( x ); 2         String stry = String.valueOf( y ); 3         String strq = String.valueOf( x )+'/'+String.valueOf( y ); 4         String strw = String.valueOf( q )+'/'+String.valueOf( w ); 5         String strsum=String.valueOf( sum ); 6         String ques = " " + strx + strz + stry + "="; 7         String ques2 = " " + strq + strz + strw + "="; 8         System.out.print( i ); 9         if( z>0 && z<=30 ) 10         {System.out.print("." + ques );}11         else {    System.out.print("." + ques2 );}12             Scanner input = new Scanner(System.in);13             String ans = input.nextLine();14             if(z>=0 && z<30 && ans.equals(strsum) )15                {16             j++;17             System.out.print( "正确\n" );    18             }19             if(z>=0 && z<30 &&!ans.equals(strsum)  )  20                 {21                 System.out.print("错误!正确答案是:"+strsum +"\n");22                 }23           30            if( z>=30 && z<80 && ans.equals(sum1) )31             {32             j++;33             System.out.print( "正确\n" );    34             }35             if(z>=30 && z<80 & !ans.equals(sum1) ) { System.out.print("错误!正确答案是:"+sum1 +"\n");}

 

e.测试运行

 


 

 

 

 

 

PSP表格

 


 

 

PSP2.1 Personal Software Process Stages Time (%) Senior Student Time (%)
Planning 计划 8 6
· Estimate 估计这个任务需要多少时间 150 160
Development 开发 80 70
· Analysis 需求分析 (包括学习新技术) 25 20
· Design Spec 生成设计文档 5 5
· Design Review 设计复审 5 5
· Coding Standard 代码规范 3 3
· Design 具体设计 30 20
· Coding 具体编码 80 100
· Code Review 代码复审 7 5
· Test 测试(自我测试,修改代码,提交修改) 15 20
Reporting 报告 10 15
· 测试报告 3 2
· 计算工作量 2 1
· 并提出过程改进计划 3 3

 

 

小结

 


 程序说难不难,但对我也不简单了,在处理分数运算方面花了比较多时间。特这次代码也还有挺多不完善之处,由于只有一个main函数所以看起来代码比较冗杂~~~

转载于:https://www.cnblogs.com/wangrf1/p/6505839.html

你可能感兴趣的文章
集合异常测试
查看>>
cocos2d游戏开发,常用工具集合
查看>>
FatTree胖树拓扑结构
查看>>
Kafka深度解析
查看>>
unsigned 后面不跟类型的情况
查看>>
fio硬盘压力测试
查看>>
信号处理——卷积(convolution)的实现
查看>>
多线程同步(循环50 基础加深版)
查看>>
Black and White
查看>>
静态变量和实例变量的区别
查看>>
晨跑【最小费用最大流】
查看>>
景点中心 C组模拟赛
查看>>
iOS国际化(多语言设置)
查看>>
bzoj 2733 平衡树启发式合并
查看>>
sublime简书安装配置
查看>>
爱上MVC~Web.Config的Debug和Release版本介绍
查看>>
条款03 尽可能使用const
查看>>
【转】那些年我们一起清除过的浮动
查看>>
python__高级 : 动态添加 对象属性, 类属性, 对象实例方法, 类静态方法, 类方法...
查看>>
【每天一道算法题】时间复杂度为O(n)的排序
查看>>