标签:类的方法 大小写 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
标签:类的方法 大小写 pre 数值 减法 存在 scanner 提高 相互
原文地址:https://www.cnblogs.com/zyyzy/p/11520261.html