基本上我需要为这个数学测验做最后一件事我必须编程,我必须问用户他们是否想回答更多问题,如果是的话,重新运行Main方法中的所有内容。如果不是,打印再见。不容易,但我不确定如何告诉它重新运行主要方法,如果他们说是的。这是我主要方法中的代码。重新运行主要方法的主要方法
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” .equals(moreProblems)){ 副本和以往的主要方法 }
但是,这需要有一个的错误无限循环,因为如果是的话,你必须有更多的问题陈述,这意味着它永远不会结束编码明智的,你会永远复制和粘贴。
我想过,但是分配规定,所有方法都必须从主方法调用,所以测验必须留在主要方法部分。 –
那么,按照其他人的建议,与while循环一起去吧。 –