/**
* 随机生成操作符号
* @return
*/
private static char getRandomOperator() {
switch (new Random().nextInt(2)) {
case 0:
return '+';
case 1:
return '-';
default:
throw new IllegalStateException("Unsupported operator");
}
}
public static void main(String[] args){
Random random = new Random();
int totalQuestions = 100; // 可以修改为其他数量
String num1Str ="";
String num2Str ="";
String num3Str ="";
String answer1Str ="";
String answer2Str ="";
for (int i = 0; i < totalQuestions; i++) {
int num1 = random.nextInt(100);
int num2 = random.nextInt(100);
int num3 = random.nextInt(100);
if(num3<10){
num3Str = " "+num3;
}else{
num3Str = ""+num3;
}
char operator1 = getRandomOperator();
char operator2 = getRandomOperator();
int answer1 = 0;
int answer2 = 0;
switch (operator1) {
case '+':
answer1 = num1 + num2;
if(answer1 > 100){
operator1 = '-';
if (num1 < num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
answer1 = num1 - num2;
}
break;
case '-':
answer1 = num1 - num2; // 确保第二个数大于第一个数
if (num1 < num2) {
int temp = num1;
num1 = num2;
num2 = temp;
answer1 = num1 - num2;
}
break;
default:
throw new IllegalStateException("Unsupported operator: " + operator1);
}
if(num1<10){
num1Str = " "+num1;
}else{
num1Str = ""+num1;
}
if(num2<10){
num2Str = " "+num2;
}else{
num2Str = ""+num2;
}
answer1Str = num1Str + " "+String.valueOf(operator1)+" " + num2Str;
switch (operator2) {
case '+':
answer2 = answer1 + num3;
if(answer2 > 100){
operator2 = '-';
if (answer1 < num3) {
switch (operator1) {
case '+':
answer2Str = num3Str +" - "+num2Str+" "+String.valueOf(operator2)+" " + num1Str +" = ";
case '-':
if(num3+num2>100){
num3 = 100- num2;
if(num3<10){
num3Str = " "+num3;
}else{
num3Str = ""+num3;
}
}
answer2Str = num3Str +" + "+num2Str+" "+String.valueOf(operator2)+" " + num1Str +" = ";
}
}else{
answer2Str = answer1Str +" "+String.valueOf(operator2)+" " + num3Str +" = ";
}
}else{
answer2Str = answer1Str +" "+String.valueOf(operator2)+" " + num3Str +" = ";
}
break;
case '-':
answer2 = answer1 - num3; // 确保第二个数大于第一个数
if (answer1 < num3) {
if (answer1 < num3) {
switch (operator1) {
case '+':
answer2Str = num3Str +" - "+num2Str+" "+String.valueOf(operator2)+" " + num1Str +" = ";
case '-':
if(num3+num2>100){
num3 = 100- num2;
if(num3<10){
num3Str = " "+num3;
}else{
num3Str = ""+num3;
}
}
answer2Str = num3Str +" + "+num2Str+" "+String.valueOf(operator2)+" " + num1Str +" = ";
}
}else{
answer2Str = answer1Str +" "+String.valueOf(operator2)+" " + num3Str +" = ";
}
}else{
answer2Str = answer1Str +" "+String.valueOf(operator2)+" " + num3Str +" = ";
}
break;
default:
throw new IllegalStateException("Unsupported operator: " + operator1);
}
if((i+1)%4 == 0){
System.out.println(answer2Str);
}else{
System.out.print(answer2Str);
}
}
}
随机生成100以内的混合加减运算题目
于 2024-06-19 15:17:40 首次发布