基本上,我需要编写此数学测验的最后一件事,我必须询问用户是否要回答更多问题,如果是,请重新运行Main Method中的所有内容。如果否,请打印再见。否很容易,但是我不确定如果他们说是的话如何告诉它重新运行主要方法。这是我主要方法中的代码。

 public static void main(String[] args) {
    Scanner in = new Scanner(System.in);

    int digit = 0;

    String result1 = getUserChoice("");

    digit = getNumberofDigit1(digit);

    int numberOfProblems = amountOfProblems();

    for (int i = 0; i < numberOfProblems; i++) {
    int number1 = getRandomNumber1(digit);
    int number2 = getRandomNumber2(digit);

    System.out.println("Enter your answer to the following problem: \n" +
            number1 + result1 + number2);
    int correctAnswer = getCorrectAnswer(number1, result1, number2);

    int userAnswer = getUserAnswer();

    CheckandDisplayResult(correctAnswer, userAnswer);
    }
        System.out.println("Would you like to solve more probelms(Y/N)? ");
        String moreProblems = in.next();

        if ("Y".equals(moreProblems)){
            digit = 0;

    result1 = getUserChoice("");

    digit = getNumberofDigit1(digit);

    numberOfProblems = amountOfProblems();

    for (int i = 0; i < numberOfProblems; i++) {
    int number1 = getRandomNumber1(digit);
    int number2 = getRandomNumber2(digit);

    System.out.println("Enter your answer to the following problem: \n" +
            number1 + result1 + number2);
    int correctAnswer = getCorrectAnswer(number1, result1, number2);

    int userAnswer = getUserAnswer();

    CheckandDisplayResult(correctAnswer, userAnswer);
    }
        System.out.println("Would you like to solve more probelms(Y/N)? ");
        moreProblems = in.next();

          if ("Y".equals(moreProblems)){

        }
        System.out.println("Thank you for taking this quiz, Goodbye!");

}


现在我尝试了类似的方法,

如果是“ Y”。等于(更多问题){
复制并通过主要方法
}

但这有一个需要无限循环的错误,因为在每种情况下都必须包含更多问题声明,这意味着它永远不会明智地编码,您将永远复制和粘贴。

最佳答案

您可以将所有要“重新运行”的代码包含在while循环中:

boolean run = true;
while (run) {
    // Here your code
    // Here input if user want to re-run
    if (getUserChoice("").equals("NO"))
        run = false;
}

09-30 16:57
查看更多