四则运算出题器

题目要求:编译一个能出四则运算题目的代码,具体要求为:1、所出题目不能重复2、可以输入任意题目数量和打印方式3、要求乘法题目计算结果为两位数,除法题目计算结果为整数,减法题目计算结果为正数。

解题关键点及思路:这道题目的关键点在于所出题目不能出现重复,所以在解题中用到了数组,通过对每一次出题后存储数据的判断,来决定是否继续执行下面的循环语句,最终实现所出的题目不重复。

代码:

import java.util.Random;
import java.util.Scanner;
public class Num {
    static  Scanner sc=new Scanner(System.in);
 public static void main(String[] args) {
      boolean m4;
      int k=0;
      Random a=new Random();//实例化Random类对象
      System.out.println("请输入出题数目:");
      int n1=sc.nextInt();
      System.out.println("请输入打印方式:");
      int n2=sc.nextInt();
      int m1[]=new int[100000];//创建数组用来存储题目数据
      int m2[]=new int[100000];
      int m3[]=new int[100000];
         for(int i=0;i<n1;) {
          m4=false;
          int c1=a.nextInt(100);//获取随机数
    int c2=a.nextInt(100);//获取随机数
    int c3=a.nextInt(4);//获取随机数
      for(int j=0;j<k;j++) {//查找并判断题目是否重复
                 if(c1==m1[j]&&c2==m2[j]&&c3==m3[j]) {
                 m4=true;
                 break;
                 }
           }
         if(m4)
          continue;
   if(c3==0) {      //判断并输出题目类型
    System.out.print((i+1)+"."+c1+"+"+c2+"= ");
    i++;
   }
      if(c3==1&&c1>c2) {   //判断并输出题目类型
          System.out.print((i+1)+"."+c1+"-"+c2+"= ");
          i++;
   }
      if(c3==1&&c1<=c2){    //判断并输出题目类型
    System.out.print((i+1)+"."+c2+"-"+c1+"= ");
    i++;
   }
     
   if(c3==2) {    //判断并输出题目类型
    if(c1*c2<100) {
       System.out.print((i+1)+"."+c1+"*"+c2+"= ");
       i++;
   }
    else
     continue; 
   }
   if(c3==3) {     //判断并输出题目类型
    if(((c2!=0)&&(c1%c2)==0)) {
    System.out.print((i+1)+"."+c1+"/"+c2+"= ");
    i++;
      }
    else
     continue;
   }
   m1[k]=c1;//将题目数据存储到数组
   m2[k]=c2;
         m3[k]=c3;
         k=k+1;
   if(i%n2==0) {   //换行操作
     System.out.println("");
   } 
   }
}
}
运行结果:
请输入出题数目:
100
请输入打印方式:
10
1.83-3= 2.52-47= 3.15+80= 4.80+67= 5.54+76= 6.64-27= 7.34+79= 8.30+30= 9.48+24= 10.66+14=
11.69-3= 12.49-19= 13.77+22= 14.79-69= 15.49-26= 16.8+39= 17.88-75= 18.42+37= 19.22-21= 20.41+27=
21.88-83= 22.29+12= 23.67+23= 24.32-30= 25.88+82= 26.62-8= 27.99-52= 28.55+65= 29.85-63= 30.91-30=
31.59-53= 32.70+76= 33.63-58= 34.84-15= 35.86-72= 36.52+40= 37.84+93= 38.97-61= 39.89-26= 40.73+45=
41.27-7= 42.41+81= 43.46*0= 44.40-0= 45.79+98= 46.32+46= 47.85-12= 48.59-14= 49.89-81= 50.90-50=
51.40+14= 52.81-56= 53.91-24= 54.11+86= 55.41+38= 56.45-26= 57.30-12= 58.60-26= 59.23+64= 60.67+75=
61.81-6= 62.29-25= 63.67+63= 64.48+26= 65.98-54= 66.81+49= 67.26+98= 68.87-72= 69.86+99= 70.81-74=
71.73-13= 72.91-55= 73.50-7= 74.93-78= 75.6*13= 76.65+80= 77.76-69= 78.43-5= 79.60-31= 80.51-1=
81.94-18= 82.6+56= 83.39-23= 84.86-13= 85.53/53= 86.52+99= 87.32-28= 88.49-28= 89.86-52= 90.74+13=
91.23+19= 92.68-11= 93.2+27= 94.61+83= 95.84+16= 96.26+46= 97.68-43= 98.99-98= 99.48+4= 100.93-74=
原文地址:https://www.cnblogs.com/MoooJL/p/11545126.html