(1)思路:三个方法,生成一定数量的整数题,生成一定数量的分数题,功能目录。其中,利用一个数组,数组长度为题目数量+1,每次随机生成一道题与数组比较,用来避免题目重复。
(2)代码:
import java.util.Scanner;
     public class test {
     
    
     public static void main(String[] args) {
     
    
Scanner scanner=new Scanner(System.in);
int state = 0;
while(state == 0)
     {
     
    
mulu();
int num = scanner.nextInt();
if(num ==1)
     {
     
    
System.out.println(“输入题目数量”);
suan(scanner.nextInt());
}
if(num ==2)
     {
     
    
System.out.println(“输入题目数量”);
zsuan(scanner.nextInt());
}
if(num ==3)
     {
     
    
state = 1;
System.out.println(“已退出!!”);
}
}
}
public static void mulu()
     {
     
    
System.out.println(“************************”);
System.out.println(“1.整数运算”);
System.out.println(“2.真分数运算”);
System.out.println(“3.退出”);
System.out.println(“************************”);
System.out.println(“请选择”);
}
     public static void suan(int num) {
     
    
String[] str = new String[num+1];
str[0]=””;
for(int i=1;i<=num;i++)
     {
     
    
String ss=””;
int state = 0;
int intVal3 = (int)(Math.random()*4+1);
int intVal1 = 0;
int intVal2 = 0;
while(state == 0)
     {
     
    
intVal1 = (int)(Math.random()*100+1);
intVal2 = (int)(Math.random()*100+1);
ss = intVal1+””+intVal2;
     for(int j=0;j
     
     
    
     {
     
    
if(ss.equals(str[i-1]))
state=0;
else
     {
     
    
state=1;
str [i]=intVal1+””+intVal2;
}
}
}
System.out.print(i+” 、 “);
     if(intVal3==1){
     
    
System.out.print(intVal1);
System.out.print(” + “);
System.out.print(intVal2);
System.out.print(“= ?”);
System.out.println();
}
     if(intVal3==2){
     
    
System.out.print(intVal1);
System.out.print(” – “);
System.out.print(intVal2);
System.out.print(“= ?”);
System.out.println();
}
     if(intVal3==3){
     
    
System.out.print(intVal1);
System.out.print(” * “);
System.out.print(intVal2);
System.out.print(“= ?”);
System.out.println();
}
     if(intVal3==4){
     
    
System.out.print(intVal1);
System.out.print(” ÷ “);
System.out.print(intVal2);
System.out.print(“= ?”);
System.out.println();
}
}
}
public static void zsuan(int num)
     {
     
    
String[] st = new String[num+1];
st[0]=””;
for(int i=1;i<=num;i++)
     {
     
    
int num1 = 0;
int num2 = 0;
int num3 = 0;
int num4 = 0;
String ss=””;
String ss1=””;
String ss2=””;
int state = 0;
int intVal3 = (int)(Math.random()*4+1);
while(state == 0)
     {
     
    
while(num1==num2)
     {
     
    
num1 = (int)(Math.random()*100+1);num2 = (int)(Math.random()*100+1);
if(num1
     {
     
    
ss1=num1+”/”+num2;
}
else
     {
     
    
ss1=num2+”/”+num1;
}
}
while(num3==num4)
     {
     
    
num3 = (int)(Math.random()*100+1);num4 = (int)(Math.random()*100+1);
if(num3
     {
     
    
ss2=num3+”/”+num4;
}
else
     {
     
    
ss2=num4+”/”+num3;
}
}
ss =ss1+ss2;
     for(int j=0;j
     
     
    
     {
     
    
if(ss.equals(st[i-1]))
state=0;
else
     {
     
    
state=1;
st [i]=ss1+ss2;
}
}
}
System.out.print(i+” 、 “);
     if(intVal3==1){
     
    
System.out.print(ss1);
System.out.print(” + “);
System.out.print(ss2);
System.out.print(“= ?”);
System.out.println();
}
     if(intVal3==2){
     
    
System.out.print(ss1);
System.out.print(” – “);
System.out.print(ss2);
System.out.print(“= ?”);
System.out.println();
}
     if(intVal3==3){
     
    
System.out.print(ss1);
System.out.print(” * “);
System.out.print(ss2);
System.out.print(“= ?”);
System.out.println();
}
     if(intVal3==4){
     
    
System.out.print(ss1);
System.out.print(” ÷ “);
System.out.print(ss2);
System.out.print(“= ?”);
System.out.println();
}
}
}
}
(3)结果:
      
    
      
    
      
    
 
