如何在java中随机选择多个数学问题的运算符并检查正确答案

如何在java中随机选择多个数学问题的运算符并检查正确答案,java,math,random,equation-solving,Java,Math,Random,Equation Solving,大家好,我是一名高中生。现在我在学校上了计算机科学11年级。 问题是,正如你所看到的,老师被要求进行数学竞赛程序。 他说我们至少需要做10级。 级别1有一个随机运算符。 级别2有两个随机运算符 等等 此外,每次参与者回答正确,他/她都会得到一分,这意味着我必须写一些东西来检查正确答案。我知道我需要使用for loop来完成十个关卡,事实上我已经试过了,但是我不能…………我快疯了 请帮帮我。。。。。谢谢你的阅读 您应该将问题分解为以下几点: 对于每个级别,您首先需要生成正确数量的随机整数,以便对其

大家好,我是一名高中生。现在我在学校上了计算机科学11年级。 问题是,正如你所看到的,老师被要求进行数学竞赛程序。 他说我们至少需要做10级。 级别1有一个随机运算符。 级别2有两个随机运算符 等等 此外,每次参与者回答正确,他/她都会得到一分,这意味着我必须写一些东西来检查正确答案。我知道我需要使用for loop来完成十个关卡,事实上我已经试过了,但是我不能…………我快疯了


请帮帮我。。。。。谢谢你的阅读

您应该将问题分解为以下几点:

对于每个级别,您首先需要生成正确数量的随机整数,以便对其执行操作。对于级别i,i+1整数 接下来,您需要为级别i生成i运算符。
所以本质上,您应该考虑嵌套for循环,内部循环取决于外部循环计数器的当前值。我希望这能有所帮助。

请阅读并做一个简单的说明。这是不可读的…您需要做的第一件事是学习如何格式化代码。坦白地说,你的问题很吓人。@Shirley这是一个非常基本的问题,如果你把它分解,请确保你可以先生成一个测试问题。完成后,用for循环将其括起来。
import java.io.*;
public class AssignmentMT {

public static void main(String[] args) throws IOException{
    // TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int number1, number2, number3, number4, number5;
    double answer;
    double geanswer = 0;
    String word;
    String operator = "";
    int score=0, totalscore=10;
    float percentage;
    int intoperator;

    word = br.readLine();


//Game Enhancement.
while (word.equals("Game Enhancement")){
    System.out.println("Now you are in the game enhancement, be ready for your 4 level qustions. Write your answer after press enter.");
    System.out.println("Press 'Go' to start!");
    word = br.readLine();
while (!word.equals("Go")){
    System .out.println("Please enter again.");
    word = br.readLine();
}
while (word.equals("Go")){

    System.out.println("-Level 1-");
        number1 = (int) (Math.round (Math.random () * 9)+1);    
        number2 = (int) (Math.round (Math.random () * 9)+1);
        intoperator = (int) (Math.round (Math.random () * 4)+1);
        switch (intoperator) {
        case 1:
            operator = "+";
            geanswer = number1+number2; 
        break;
        case 2:
            operator = "-";
            geanswer = number1-number2; 
        break;
        case 3:
            operator = "×";
            geanswer = number1*number2;
        break;
        case 4:
            operator = "÷";
            geanswer = (double)Math.round(((double)number1/(double)number2)*100)/100;
        break;
        default:
            operator = "+";
            geanswer = number1+number2;
        break;
        }
    System.out.println( number1 + operator + number2 + "=");
    answer = Double.parseDouble(br.readLine());   
if(answer==geanswer){
    score++;
    }
    System.out.println("Your Score: " + score);


    System.out.println("-Level 2-");
    for (int i=1;i<=2;i++){
        number1 = (int) (Math.round (Math.random () * 9)+1);    
        number2 = (int) (Math.round (Math.random () * 9)+1);
        number3 = (int) (Math.round (Math.random () * 9)+1);
        intoperator = (int) (Math.round (Math.random () * 4)+1);
        switch (intoperator) {
        case 1:
            operator = "+";
            geanswer = number1+number2+number3; 
        break;
        case 2:
            operator = "-";
            geanswer = number1-number2-number3; 
        break;
        case 3:
            operator = "×";
            geanswer = number1*number2*number3;
        break;
        case 4:
            operator = "÷";
            geanswer = (double)Math.round(((double)number1/(double)number2/(double)number3)*100)/100;
        break;
        default:
            operator = "+";
            geanswer = number1+number2+number3;
        break;
        }
    System.out.println( number1 + operator + number2 + operator + number3 + "=");   
    answer = Double.parseDouble(br.readLine());
if(answer == geanswer){
    score++;
    }    
        }
    System.out.println("Your Score: " + score);


    System.out.println("-Level 3-");
    for (int i=1;i<=3;i++){
        number1 = (int) (Math.round (Math.random () * 9)+1);    
        number2 = (int) (Math.round (Math.random () * 9)+1);
        number3 = (int) (Math.round (Math.random () * 9)+1);
        number4 = (int) (Math.round (Math.random () * 9)+1);
        intoperator = (int) (Math.round (Math.random () * 4)+1);
        switch (intoperator) {
        case 1:
            operator = "+";
            geanswer = number1+number2+number3+number4; 
        break;
        case 2:
            operator = "-";
            geanswer = number1-number2-number3-number4; 
        break;
        case 3:
            operator = "×";
            geanswer = number1*number2*number3*number4;
        break;
        case 4:
            operator = "÷";
            geanswer = (double)Math.round(((double)number1/(double)number2/(double)number3/(double)number4)*100)/100;
        break;
        default:
            operator = "+";
            geanswer = number1+number2+number3+number4;
        break;
        }
    System.out.println( number1 + operator + number2 + operator + number3 + operator + number4 + "=");
    answer = Double.parseDouble(br.readLine());
if(answer == geanswer){
    score++;
    }    
        }
    System.out.println("Your Score: " + score); 



    System.out.println("-Level 4-");
    for (int i=1;i<=4;i++){
        number1 = (int) (Math.round (Math.random () * 9)+1);    
        number2 = (int) (Math.round (Math.random () * 9)+1);
        number3 = (int) (Math.round (Math.random () * 9)+1);
        number4 = (int) (Math.round (Math.random () * 9)+1);
        number5 = (int) (Math.round (Math.random () * 9)+1);
        intoperator = (int) (Math.round (Math.random () * 4)+1);
        switch (intoperator) {
        case 1:
            operator = "+";
            geanswer = number1+number2+number3+number4+number5; 
        break;
        case 2:
            operator = "-";
            geanswer = number1-number2-number3-number4-number5; 
        break;
        case 3:
            operator = "×";
            geanswer = number1*number2*number3*number4*number5;
        break;
        case 4:
            operator = "÷";
            geanswer = (double)Math.round(((double)number1/(double)number2/(double)number3/(double)number4/(double)number5)*100)/100;
        break;
        default:
            operator = "+";
            geanswer = number1+number2+number3+number4+number5;
        break;
        }
    System.out.println( number1 + operator + number2 + operator + number3 + operator + number4 + operator + number5 + "=");
    answer = Double.parseDouble(br.readLine());
if(answer == geanswer){
    score++;
    }    
        }
percentage = (float)((score*100)/totalscore);
System.out.println("Your total Score: " + score);
System.out.println(" ");
System.out.println("Your got " + percentage + "% mark! Congratulation!");
System.out.println("Please enter Quit to end.");
word = br.readLine();
if (word.equals("Quit")){
    System.out.println(" ");
    System.out.println("That's the end of the contest. Thank you!");
}
          }

   }
       }

        }