# 四则运算

public class c30questions {

public static void main(String[] args) {

print30Questions();
}

private static void print30Questions() {
//说明：打印30道题函数，把接收到的题目字符串按照指定格式输出。
for (int i = 0; i < 10; i++) {
System.out.print( i+1 );
System.out.print("." + getQuestion() + "    ");
System.out.print( i+11 );
System.out.print("." + getQuestion() + "    ");
System.out.print( i+21 );
System.out.println("." + getQuestion());
}
}

private static String getQuestion() {
//说明：getQuestion()得到题目函数，随机生成题目，返回题目字符串。
int t = 0;
String strz = "";

int x=1+(int)(Math.random()*100);
int y=1+(int)(Math.random()*100);
int z=1+(int)(Math.random()*100);

if( z<=25 ) {
strz = "×";
x = x % 10;
y = y % 10;//两个各位数相成
}
if( z>25 && z<=50 ) {
strz = "÷";
y = ( y % 10 ) + 1;//除数不能为0是不是
}
if( z>50 && z<=75) {
strz = "+";
if ((x+y) > 100) {
x = x / 2;
y = y / 2;//乘法相加结果不大于100
}
}
if( z>75 ) {
strz = "-";
if( x < y ){
t = y;
y = x;
x = t;//保证减法是大数减去小数
}
}

String strx = String.valueOf( x );
String stry = String.valueOf( y );

String ques = " " + strx + strz + stry + "=";

if(ques.length()==5)ques = ques + " ";
if(ques.length()==4)ques = ques + "  ";
if(ques.length()==3)ques = ques + "   ";//保持格式

return ques;
}//getQuestion

}
  private static String getPfQuestion() {
//说明：getPfQuestion()得到真分数题目函数，随机生成真分数题目，返回真分数题目字符串。
int t = 0;
String strz = "";

int x1=1+(int)(Math.random()*10);
int x2=1+(int)(Math.random()*10);//分母

int y1=1+(int)(Math.random()*10);
int y2=1+(int)(Math.random()*10);//分母

if( x2 <= x1 ){
t = x2;
x2 = x1;
x1 = t;
if( x1 == x2 ) {
x1 = x1 - 1;//保证分子比分母小
}
}

if( y2 <= y1 ){
t = y2;
y2 = y1;
y1 = t;
if( y1 == y2 ) {
y1 = y1 - 1;//保证分子比分母小
}
}

int z=1+(int)(Math.random()*100);

if( z<=25 ) {
strz = "×";
}
if( z>25 && z<=50 ) {
strz = "÷";
if( y1 == 0 )
y1 = y1 + 1;//除数的分子不能为0是不是
}
if( z>50 && z<=75) {
strz = "+";
}
if( z>75 ) {
strz = "-";
if( x1/x2 > y1/y2 ) {

t = x1;
x1 = y1;
y1 = t;

t = x2;
x2 = y2;
y2 = t;//保证减法是大数减去小数
}
}

String strx1 = String.valueOf( x1 );
String strx2 = String.valueOf( x2 );
String stry1 = String.valueOf( y1 );
String stry2 = String.valueOf( y2 );

String ques = " " + strx1 + "/" + strx2 + strz + stry1 + "/" + stry2 + "=";

return ques;
}//getPfQuestion
posted @ 2020-11-06 11:21  Aurora12345  阅读(84)  评论(0编辑  收藏  举报