码迷,mamicode.com
首页 > 其他好文 > 详细

20194742自动生成四则运算题第一版报告

时间:2019-09-14 22:21:30      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:类的方法   大小写   pre   数值   减法   存在   scanner   提高   相互   

一、需求分析
为中小学生自动生成2位数的四则运算,有效的节省时间提高效率。

二、功能设计
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内

(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式

(3)题目数量可定制

(4)相关参数可控制

      是否包含乘法和除法

      操作数数值范围可控(如操作数 在100以内   还是1000以内)

      操作数是否含负数    

(5)生成的运算题存储到外部文件result.txt中
三、设计实现
1.包括测试类和功能类。函数主要有主函数,生成随机数ram()函数,和负责计算的功能函数,主函数调用Operation类的show()方法进行生成算式。Operation的show()方法调用ram()函数生成随机数。
四、测试运行
技术图片

生成不带负数输出结果的的加减法
技术图片

输出包含负数不输出结果的乘除法

五、实现代码
1.提示菜单代码
public void show(){
Scanner sc = new Scanner(System.in);
System.out.println("请选择输入多少以内的运算:");
int e=sc.nextInt();
System.out.println("请选择生成多少道题目:");
int t = sc.nextInt();
System.out.println("请选运算方法:输入1选择加减法,输入2选择乘除法运算:");
int y=sc.nextInt();
System.out.println("算式是否包含负数运算:包含输入1,不包含输入2");
int f=sc.nextInt();
System.out.println("是否输出答案?选择y输出答案,选择n只输出算式,注意区分大小写:");
String s1="y";
String s2="n";
String ss=sc.next();
2.输出加减法算式代码
if(y==1){
int h=0;
for(int i=1;i<=t;i++){
int a=ram(e);
int b=ram(e);
if(a<=e&&b<=e){
int sum = a+b;
int num = a-b;
if(sum>0&&num>0){
if(sum<=e&&num<=e){
int c1=ram(100);
int c=c1%2;
if(c==0){
if(ss.equals(s1)){
System.out.println(a+"+"+b+"="+sum);
}else if(ss.equals(s2)){
System.out.println(a+"+"+b+"=");
}
}else{
if(ss.equals(s1)){
System.out.println(a+"-"+b+"="+num);
}else if(ss.equals(s2)){
System.out.println(a+"-"+b+"=");
}
}

                }

六、总结
软件设计之初计划采用面向对象编程方法。把软件分为提示菜单类,加减法类,乘除法类。生成随机数类。相互调用来实现功能。编程过程中由于调用语法的遗忘,被迫采用了一个类的方法写完了代码,这种编程方法导致代码存在大量重复,效率低。
七、PSP
技术图片

20194742自动生成四则运算题第一版报告

标签:类的方法   大小写   pre   数值   减法   存在   scanner   提高   相互   

原文地址:https://www.cnblogs.com/zyyzy/p/11520261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!