このコードブロックでは、13行目でcorrectAnswersを1つ増やしました。ただし、if文が壊れた後は、パーセンテージを出力するときに値が1になります。誰か私のコードに間違っていることを教えてもらえますか?ifステートメント以外の変数値
private static void multiplicationTest(int maxNumber, int minNumber) {
int i = 1;
while(i != 11) {
int firstNumber = (minNumber + (int)(Math.random() * ((maxNumber - minNumber) + 1))), secondNumber = (minNumber + (int)(Math.random() * ((maxNumber - minNumber) + 1)));
int inputAnswer, answer = (firstNumber * secondNumber);
int correctAnswers = 0;
System.out.print("Question " + i + ".)\t" + firstNumber + " * " + secondNumber + " = ");
inputAnswer = input.nextInt();
if(inputAnswer == answer) {
correctAnswers++;
System.out.print("\tcorrect\n");
} else {
System.out.print("\tincorrect --- " + firstNumber + " * " + secondNumber + " = " + answer + "\n");
} if(i == 10) {
System.out.println("\nYou scored " + correctAnswers + " out of 10 - " + (correctAnswers * 10) + "%.");
}
i++;
}
}
* "ただし、if文が壊れた後は..." *それはどういう意味ですか? –
また、最後には*間違ったブレースがあります。 '} if(i == 10){'それが自分自身の行に 'if'を開始します。 –
あなたは10回反復しています。それぞれの反復で 'correctAnswers = 0'を設定します。それを0にリセットし続けると、10回の反復で合計カウントをどのように覚えておくと思いますか? – Andreas