题目要求:

主要把功能放进函数中实现。

代码:

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]="/";

}

}

}

}

测试结果:

2021.9.26课堂测试完成_IT