今天敲代码
流景 2021/9/24 23:35:48 package sizeyunsuan; import java.math.*; import java.util.Scanner; public class yunsuan { public static void chongfu(String[] d,int gs,int i) { int n=0; if(i>1) { for(int s=0;s<i;s++) { if(d[i].equals(d[s]))n=1; } } if(n==1) { i--; } } public static String[] suijishu(int num,int gs,int fr,int i) {//出题个数,操作数个数,操作数取值范围 String[] k=new String[1000]; int[] a=new int[1000]; String[] d=new String[1000]; int n=0; int f=0; int q=0; for(f=0;f<gs;f++) { a[f]=(int)(Math.random()*fr); k[f]=String.valueOf(a[f]); } for(f=1;f<gs;f++) { d[0]=k[0]; d[i]=d[0]+k[f]; } chongfu(d,gs,i); return k;} 流景 2021/9/24 23:36:09 public static void main(String[] args) { // TODO Auto-generated method stub //random()返回值是一个伪随机数,该数是带正号的double值,在[0.0,1.0]的范围内正态分布 System.out.println("请输入题的个数"); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); System.out.println("请输入操作数的个数"); int gs=sc.nextInt(); System.out.println("请输入范围"); int fw=sc.nextInt(); System.out.println("是否需要括号,输入1为需要,0为不需要,如果操作数为2请直接输入0"); int kh=sc.nextInt(); System.out.println("是否需要乘除法,输入1为需要,0为不需要"); int cc=sc.nextInt(); int[] a=new int[10000]; int[] b=new int[10000]; char uo,xx; uo='('; xx=')'; String co=String.valueOf(uo); String mo=String.valueOf(xx); String[] c=new String[10000]; String[] d=new String[10000]; String[] e=new String[10000]; String[] g=new String[10000]; for(int i=0;i<num;i++) { c=suijishu(num,gs,fw,i); if(kh==0&&cc==1) {//无括号有乘除 char[] fuhao=new char[100]; char m='*'; String iu=String.valueOf(m); for(int xu=0;xu<gs-1;xu++) { int sj=(int)(Math.random()*4); switch(sj) { case 1:fuhao[xu]='+';e[xu]=String.valueOf(fuhao[xu]);break; case 2:fuhao[xu]='-';e[xu]=String.valueOf(fuhao[xu]);break; case 3:fuhao[xu]='*';e[xu]=String.valueOf(fuhao[xu]);break; case 0:fuhao[xu]='/';e[xu]=String.valueOf(fuhao[xu]);break; } } for( int q=0,f=0;f<2*gs-1;f++) { if(f==0) {g[0]=c[0];} else if(f%2==1) {g[0]=g[0]+e[q];q++;} else if(f==2) {g[0]=g[0]+c[f-1];} else if(f!=2&&f%2==0) {g[0]=g[0]+c[f/2];} } System.out.println(g[0]+"="); } if(kh==1&&cc==1) {//有括号,有乘除 char[] fuhao=new char[100]; char m='*'; String iu=String.valueOf(m); for(int xu=0;xu<gs-1;xu++) { int sj=(int)(Math.random()*4); switch(sj) { case 1:fuhao[xu]='+';e[xu]=String.valueOf(fuhao[xu]);break; case 2:fuhao[xu]='-';e[xu]=String.valueOf(fuhao[xu]);break; case 3:fuhao[xu]='*';e[xu]=String.valueOf(fuhao[xu]);break; case 0:fuhao[xu]='/';e[xu]=String.valueOf(fuhao[xu]);break; } } int t=gs; int uu=(int)(Math.random()*(t-2)+2); for( int q=0,f=0;f<2*gs-1;f++) { if(f==0) {g[0]=co+c[0];} else if(f%2==1) { {g[0]=g[0]+e[q];q++;}} else if(f%2==0) { if(f==uu&&uu%2==0) {g[0]=g[0]+c[f/2]+mo;} else if(f==(uu+1)&&uu%2==1){g[0]=g[0]+c[f/2]+mo;} else {g[0]=g[0]+c[f/2];} } } System.out.println(g[0]+"="); } if(kh==1&&cc==0) {//有括号,无乘除 char[] fuhao=new char[100]; char m='*'; String iu=String.valueOf(m); for(int xu=0;xu<gs-1;xu++) { int sj=(int)(Math.random()*2); switch(sj) { case 1:fuhao[xu]='+';e[xu]=String.valueOf(fuhao[xu]);break; case 0:fuhao[xu]='-';e[xu]=String.valueOf(fuhao[xu]);break; } } int t=gs; int uu=(int)(Math.random()*(t-2)+2); for( int q=0,f=0;f<2*gs-1;f++) { if(f==0) {g[0]=co+c[0];} else if(f%2==1) { {g[0]=g[0]+e[q];q++;}} else if(f%2==0) { if(f==uu&&uu%2==0) {g[0]=g[0]+c[f/2]+mo;} else if(f==(uu+1)&&uu%2==1){g[0]=g[0]+c[f/2]+mo;} else {g[0]=g[0]+c[f/2];} } } System.out.println(g[0]+"="); } if(kh==0&&cc==0) { char[] fuhao=new char[100]; char m='*'; String iu=String.valueOf(m); for(int xu=0;xu<gs-1;xu++) { int sj=(int)(Math.random()*2); switch(sj) { case 1:fuhao[xu]='+';e[xu]=String.valueOf(fuhao[xu]);break; case 0:fuhao[xu]='-';e[xu]=String.valueOf(fuhao[xu]);break; } } for(int q=0,f=0;f<2*gs-1;f++) { if(f==0) {g[0]=c[0];} else if(f%2==1) {g[0]=g[0]+e[q];q++;} else if(f%2==0) {g[0]=g[0]+c[f/2];} } System.out.println(g[0]+"="); } } }}