一家软件公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道四则运算题目给小学生做。
题目要求:
1、题目避免重复;
2、可定制(数量/打印方式);
3、可以控制下列参数: 是否有乘除法、是否有括号、 数值范围、加减有无负数、除法有无余数、否支持分数 (真分数, 假分数, …)、是否支持小数 (精确到多少位)、打印中每行的间隔可调整
代码如下:
package counter;
import java.util.Random;
import java.util.Scanner;
public class counter1 {
static Scanner in =new Scanner(System.in);
public static void main(String[] args) {
Random a=new Random();
int x,y,num=0;
boolean h=true;
System.out.println("请输入题目数目,打印方式");
x=in.nextInt();
y=in.nextInt();
int q[] = new int[100000];
int w[] = new int[100000];
int e[] = new int[100000];
for(int i=0;i<x;) {
h=true;
int random1=a.nextInt(100);
int random2=a.nextInt(100);
int random3=a.nextInt(4);
for(int j=0;j<num;j++)
{
if((random1==q[j])&&(random2==w[j])&&(random3==e[j]))
{
h=false;
break;
}
}
if(h==false)
continue;
if(random3==0) {
System.out.print((i+1)+"."+random1+"+"+random2+"="+" ");
i++;
}
if(random3==1) {
if(random1>random2)
{
System.out.print((i+1)+"."+random1+"-"+random2+"="+" ");
i++;
}
else if(random1<=random2)
{
System.out.print((i+1)+"."+random2+"-"+random1+"="+" ");
i++;
}
}
if(random3==2) {
if((random1*random2)<100)
{
System.out.print((i+1)+"."+random1+"*"+random2+"="+" ");
i++;
}
else continue;
}
if(random3==3){
if((random2!=0)&&(random1%random2)==0)
{
System.out.print((i+1)+"."+random1+"/"+random2+"="+" ");
i++;
}
else continue;
}
q[num]=random1;
w[num]=random2;
e[num]=random3;
num++;
if(i%y==0)
System.out.println("");
}
}
}