四则运算3

代码:
package
demo; import java.util.Scanner; public class yunsuan { static int j; static int a,b,c,d,min,max; static String aa,bb; static char []ch=new char[4]; public static void zhengshu(){ Scanner in=new Scanner(System.in); System.out.println("1.有乘除法 2.无乘除法:"); int xx=in.nextInt(); System.out.println("请输入题目页数:"); int x=in.nextInt(); System.out.println("请输入题目个数:"); int x1=in.nextInt(); System.out.println("请输入变量个数:"); int z=in.nextInt(); System.out.print("请输入数值范围:"); min=in.nextInt(); max=in.nextInt(); System.out.println("1.有括号 2.无括号:"); int t=in.nextInt(); int a1,b1; int []M=new int[10]; String []N=new String[10]; String []A1=new String[x1]; for(int ii=1;ii<=x;ii++) { for(int i=0;i<x1;i++) { a1=(int)(Math.random()*(z-1)+1); b1=a1+1; A1[i]=""; for(int o=0;o<z;o++) { M[o]=(int)(Math.random()*max+min); if(t==1) { if(o==a1-1||o==b1-1) { if(o==a1-1) N[o]="("+M[o]; else N[o]=M[o]+")"; } else N[o]=""+M[o]; } else N[o]=""+M[o]; if(xx==1) j=(int)(Math.random()*4+1); else j=(int)(Math.random()*2+1); if(o==z-1) A1[i]=A1[i]+N[o]+" ="; else A1[i]=A1[i]+N[o]+" "+ch[j-1]; } for(int k=0;k<i;k++) { if(A1[i].equals(A1[k])) { i--; break; } } } for(int i=0;i<x1;i++) { System.out.println((i+1)+". "+A1[i]); } System.out.println("-"+ii+"-"); } } public static void fenshu(){ String []B=new String[3]; for(int i=0;i<3;i++) { a=(int)(Math.random()*100+1); b=(int)(Math.random()*100+1); if(a>b) aa=b+"/"+a; else if(a<b) aa=a+"/"+b; else aa="1"; c=(int)(Math.random()*100+1); d=(int)(Math.random()*100+1); if(c>d) bb=d+"/"+c; else if(c<d) bb=c+"/"+d; else bb="1"; j=(int)(Math.random()*4+1); B[i]=aa+" "+ch[j-1]+" "+bb+"="; for(int k=i+1;k<3;k++) { if(B[i].equals(B[k])) { a=(int)(Math.random()*10+1); b=(int)(Math.random()*10+1); j=(int)(Math.random()*4+1); B[k]=aa+" "+ch[j-1]+" "+bb+"="; k--; } } System.out.println((i+1)+". "+B[i]); } } public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("1.整数运算"); System.out.println("2.分数运算"); ch[0]='+'; ch[1]='-'; ch[2]='*'; ch[3]='/'; int t=in.nextInt(); if(t==1) { zhengshu(); System.out.println(); } else if(t==2) { fenshu(); System.out.println(); } else return; } }
截图:

总结:这次代码实现了上次未实现的括号的添加,而且在此次编写过程中了解到了单元测试的重要性,将复杂的问题简单化,由繁到简,只是这次编写还未实现真分数的操作,下次努力。
原文地址:https://www.cnblogs.com/jokerr/p/6567869.html