2021.9.26课堂测试完成
题目要求:
主要把功能放进函数中实现。
代码:
package xiugaiyunsuan;
import java.util.*;
import java.util.Random;
import java.util.Scanner;
public class xiugai {
public static void main(String[] args) {
System.out.println("请输入要出题目的数量:");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
System.out.println("请输入算式数字范围:");
int c=sc.nextInt();
System.out.println("请输入操作数的个数:");
int z=sc.nextInt();
String cun1[][]=new String[i][2*z];
String cun2[][]=new String[i][2*z];
int n;
for(int k=0;k<i;k++) {
int cao[][]=new int[i][z];
String fu[][]=new String[i][z-1];
shengChengCaoZuoShu(c,z,cao,k);
shengchengzifu(z,fu,k);
for(int j=0;j<z-1;j++) {
cun1[k][2*j]=String.valueOf(cao[k][j]);
cun1[k][2*j+1]=fu[k][j];
}
cun1[k][2*z-1]=String.valueOf(2);
n=yanZhengTiMu(cun1,k);
if(n==1) {
k--;
continue;}
else cun2[k]=cun1[k];
}
for(int k1=0;k1<i;k1++) {
for(int k2=0;k2<2*z-2;k2++) {
System.out.print(cun2[k1][k2]);
}
System.out.println(cun2[k1][2*z-1]);
}
}
public static int yanZhengTiMu(String c[][],int i) { //通过比较字符串确定是否重复
int j;
for(j=0;j<i;j++) {
if(c[j].equals(c[i])) return 1;
}
return 2;
}
public static void shengChengCaoZuoShu(int c,int z,int cao[][],int j) { //i是题目数量,c是算式范围,z是操作数,生成操作数。
Random random=new Random();
int x1;
for(x1=0;x1<z;x1++) {
int a=random.nextInt(c);
cao[j][x1]=a+1;
}
}
public static void shengchengzifu(int z,String fu[][],int j) { //输出运算符
Random random=new Random();
int x2;
int fu1[]=new int[z-1];
for(x2=0;x2<z-1;x2++) {
int b=random.nextInt(4);
fu1[x2]=b;
if(fu1[x2]==0) {
fu[j][x2]="+";
}
else if(fu1[x2]==1) {
fu[j][x2]="-";
}
else if(fu1[x2]==2) {
fu[j][x2]="*";
}
else if(fu1[x2]==3) {
fu[j][x2]="/";
}
}
}
}
测试结果: