一:题目要求:
1.是否有乘除法
2.是否有括号
3.取值范围
4.加减有无负数
5.除法有无余数
二:设计思路:
在上一个程序的基础之上,按照题目要求,在原有的选择出整数题或者分数题菜单下,分别添加是否有乘除法的下一级菜单,并创建相应的函数。在函数里,通过引用上一次题目的函数,并加以修改,来完成目标。在完成加减有无负数是,在while函数内的最前面添加加减有无负数菜单,把加减有无负数作为第一个菜单,再一级一级的往下进行。对于除法有无余数,在选择完有无乘除法之后,可以选择有无乘除法,然后对除法有无余数进行选择,如果选择了有余数,那么就把上一个程序的代码直接引用,如果选择无余数,那么在原有函数的除法运算基础上,对是否有余数进行判断,如果有余数就重新生成随机数,直至生成无余数的。我编写的程序里的所有功能基本都是利用if else函数编写的,有些地方我打算利用while函数进行改进。对于未完成的功能,我在运行程序的时候错误太多,正在改进中。
三:程序代码:
import java.util.Scanner; public class suanshu { public static void main(String[] args) { Scanner input = new Scanner(System.in); int m=0; while(m==0) { System.out.println("加减有无负数"); System.out.println(" 1.有 "); System.out.println(" 2.无 "); System.out.println(" 请选择: "); int e = input.nextInt(); if(e==1)//加减有负数 { menu(); int a = input.nextInt(); if(a==1)//整数 { System.out.println("是否有乘除法"); System.out.println(" 1.是 "); System.out.println(" 2.否 "); System.out.println(" 3.退出 "); System.out.println(" 请选择: "); int c = input.nextInt(); if(c==1)//有乘除法 { System.out.println("除法是否有余数"); System.out.println(" 1.是 "); System.out.println(" 2.否 "); System.out.println(" 3.退出 "); System.out.println(" 请选择: "); int f = input.nextInt(); if(f==1)//整数除法由余数 { System.out.println("请输入出题数量"); shu(input.nextInt()); } if(f==2)//整数除法没有余数 { System.out.println("请输入出题数量"); meiyushu(input.nextInt()); } } if(c==2)//无乘除法 { System.out.println("请输入出题数量"); shu1(input.nextInt()); } else { System.out.println("已退出"); System.exit(0); } } if(a==2)//分数 { System.out.println("是否有乘除法"); System.out.println(" 1.是 "); System.out.println(" 2.否 "); System.out.println(" 3.退出 "); System.out.println(" 请选择: "); int d = input.nextInt(); if(d==1)//有乘除法 { System.out.println("除法是否有余数"); System.out.println(" 1.是 "); System.out.println(" 2.否 "); System.out.println(" 3.退出 "); System.out.println(" 请选择: "); int g = input.nextInt(); if(g==1)//除法有余数 { System.out.println("输入题目数量"); fen(input.nextInt()); } if(g==2)//除法无余数 { System.out.println("输入题目数量"); meiyushufen(input.nextInt()); } } if(d==2)//无乘除法 { System.out.println("输入题目数量"); fen1(input.nextInt()); } else { System.out.println("已退出"); System.exit(0); } } if(a==3) { System.out.println("已退出"); System.exit(0); } } if(e==2)//加减无负数 { menu(); int a = input.nextInt(); if(a==1)//整数 { System.out.println("是否有乘除法"); System.out.println(" 1.是 "); System.out.println(" 2.否 "); System.out.println(" 3.退出 "); System.out.println(" 请选择: "); int c = input.nextInt(); if(c==1) { System.out.println("请输入出题数量"); meiyoufushushu(input.nextInt()); } if(c==2) { System.out.println("请输入出题数量"); meiyoufushushu1(input.nextInt()); } else { System.out.println("已退出"); System.exit(0); } } if(a==2)//分数 { System.out.println("是否有乘除法"); System.out.println(" 1.是 "); System.out.println(" 2.否 "); System.out.println(" 3.退出 "); System.out.println(" 请选择: "); int d = input.nextInt(); if(d==1) { System.out.println("输入题目数量"); meiyoufushufen(input.nextInt()); } if(d==2) { System.out.println("输入题目数量"); meiyoufushufen1(input.nextInt()); } else { System.out.println("已退出"); System.exit(0); } } if(a==3) { System.out.println("已退出"); System.exit(0); } } } } public static void meiyushufen(int a) { for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int m = 1+(int)(Math.random()*100); int n = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*4); if(z==1) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } } if(z==2) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } } if(z==3) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"*"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"*"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"*"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"*"+"("+m+"/"+n+")"+"="+"?"); } } if(z==4) { if(x<y&&m<n) { if((x*n)%(y*m)==0) { System.out.println("("+x+"/"+y+")"+"/"+"("+m+"/"+n+")"+"="+"?"); } } else if(x<y&&m>n) { if((x*m)%(y*n)==0) { System.out.println("("+x+"/"+y+")"+"/"+"("+n+"/"+m+")"+"="+"?"); } } else if(x>y&&m>n) { if((y*m)%(x*n)==0) { System.out.println("("+y+"/"+x+")"+"/"+"("+n+"/"+m+")"+"="+"?"); } } else { if((y*n)%(x*m)==0) { System.out.println("("+y+"/"+x+")"+"/"+"("+m+"/"+n+")"+"="+"?"); } } } } } public static void meiyushu(int a) { for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*4); if(z==1) { System.out.println(x+"+"+y+"="+"?"); } if(z==2) { System.out.println(x+"-"+y+"="+"?"); } if(z==3) { System.out.println(x+"*"+y+"="+"?"); } if(z==4) { if(x%y==0) { System.out.println(x+"/"+y+"="+"?"); } } } } private static void meiyoufushufen1(int a) { for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int m = 1+(int)(Math.random()*100); int n = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*2); if(z==1) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } } if(z==2) { if(x<y&&m<n) { if(x*n>y*m) { System.out.println("("+x+"/"+y+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } else { System.out.println("("+m+"/"+n+")"+"-"+"("+x+"/"+y+")"+"="+"?"); } } else if(x<y&&m>n) { if(x*m>y*n) { System.out.println("("+x+"/"+y+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+n+"/"+m+")"+"-"+"("+x+"/"+y+")"+"="+"?"); } } else if(x>y&&m>n) { if(y*m>n*x) { System.out.println("("+y+"/"+x+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+n+"/"+m+")"+"-"+"("+y+"/"+x+")"+"="+"?"); } } else { if(y*n>m*x) { System.out.println("("+y+"/"+x+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } else { System.out.println("("+x+"/"+m+")"+"-"+"("+y+"/"+x+")"+"="+"?"); } } } } } private static void meiyoufushufen(int a) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int m = 1+(int)(Math.random()*100); int n = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*4); if(z==1) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } } if(z==2) { if(x<y&&m<n) { if(x*n>y*m) { System.out.println("("+x+"/"+y+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } else { System.out.println("("+m+"/"+n+")"+"-"+"("+x+"/"+y+")"+"="+"?"); } } else if(x<y&&m>n) { if(x*m>y*n) { System.out.println("("+x+"/"+y+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+n+"/"+m+")"+"-"+"("+x+"/"+y+")"+"="+"?"); } } else if(x>y&&m>n) { if(y*m>n*x) { System.out.println("("+y+"/"+x+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+n+"/"+m+")"+"-"+"("+y+"/"+x+")"+"="+"?"); } } else { if(y*n>m*x) { System.out.println("("+y+"/"+x+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } else { System.out.println("("+x+"/"+m+")"+"-"+"("+y+"/"+x+")"+"="+"?"); } } } if(z==3) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"*"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"*"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"*"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"*"+"("+m+"/"+n+")"+"="+"?"); } } if(z==4) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"/"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"/"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"/"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"/"+"("+m+"/"+n+")"+"="+"?"); } } } private static void meiyoufushushu1(int a) { for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*2); if(z==1) { System.out.println(x+"+"+y+"="+"?"); } if(z==2) { if(x>y) { System.out.println(x+"-"+y+"="+"?"); } else { System.out.println(y+"-"+x+"="+"?"); } } } } private static void meiyoufushushu(int a) { for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*4); if(z==1) { System.out.println(x+"+"+y+"="+"?"); } if(z==2) { if(x>y) { System.out.println(x+"-"+y+"="+"?"); } else { System.out.println(y+"-"+x+"="+"?"); } } if(z==3) { System.out.println(x+"*"+y+"="+"?"); } if(z==4) { System.out.println(x+"/"+y+"="+"?"); } } } public static void menu() { System.out.println("***************"); System.out.println("请输入要选择的选项:"); System.out.println(" 1.整数 "); System.out.println(" 2.分数 "); System.out.println(" 3.退出 "); System.out.println("***************"); System.out.println(" 请选择:"); } public static void fen1(int a) { for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int m = 1+(int)(Math.random()*100); int n = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*2); if(z==1) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } } if(z==2) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } } } } public static void shu1(int a) {//没有乘除法 for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*2); if(z==1) { System.out.println(x+"+"+y+"="+"?"); } if(z==2) { System.out.println(x+"-"+y+"="+"?"); } } } public static void fen(int a) { for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int m = 1+(int)(Math.random()*100); int n = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*4); if(z==1) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"+"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"+"+"("+m+"/"+n+")"+"="+"?"); } } if(z==2) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"-"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"-"+"("+m+"/"+n+")"+"="+"?"); } } if(z==3) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"*"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"*"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"*"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"*"+"("+m+"/"+n+")"+"="+"?"); } } if(z==4) { if(x<y&&m<n) { System.out.println("("+x+"/"+y+")"+"/"+"("+m+"/"+n+")"+"="+"?"); } else if(x<y&&m>n) { System.out.println("("+x+"/"+y+")"+"/"+"("+n+"/"+m+")"+"="+"?"); } else if(x>y&&m>n) { System.out.println("("+y+"/"+x+")"+"/"+"("+n+"/"+m+")"+"="+"?"); } else { System.out.println("("+y+"/"+x+")"+"/"+"("+m+"/"+n+")"+"="+"?"); } } } } public static void shu(int a) { for(int b=0;b<a;b++) { int x = 1+(int)(Math.random()*100); int y = 1+(int)(Math.random()*100); int z = 1+(int)(Math.random()*4); if(z==1) { System.out.println(x+"+"+y+"="+"?"); } if(z==2) { System.out.println(x+"-"+y+"="+"?"); } if(z==3) { System.out.println(x+"*"+y+"="+"?"); } if(z==4) { System.out.println(x+"/"+y+"="+"?"); } } } }
四:程序运行截图: