Оператор печати в цикле повторяется несколько раз - PullRequest
1 голос
/ 08 мая 2019

Я работаю над кодом, который вводит тест с множественным выбором в двумерном массиве, проверяет ответы с помощью направляющего массива и сообщает учащемуся, сколько проблем они получают, правильные и неправильные. Я могу проверить ответы всех студентов, но утверждение, в котором указано количество правильных и неправильных вопросов, печатается 8 раз (ширина двумерного массива) вместо одного.

Я попытался поиграть со значениями во вложенном цикле for, чтобы проверить параметры, которые я проверял.

for (int n = 0; n < tests.length; n++) {
    for (int m = 0; m < tests[0].length + 1; m++) {

        if (m < tests[0].length) {
            if (!(tests[0][m].equals(answers[m]))) {
                incorrect++;
            } else if (tests[0][m].equals(answers[m]))
                correct++;
        } else {
            System.out.println(
                "You got " + correct + " answers correct and " + incorrect + " answers wrong.");
            correct = 0;
            incorrect = 0;
        }
    }
}

Я ожидаю, что распечатка выписки будет делаться один раз на каждого учащегося, а не 8 раз, что и происходит.

1 Ответ

3 голосов
/ 08 мая 2019

похоже, что все ваши tests[0][m] должны быть tests[n][m], если я что-то здесь не упустил.В противном случае он просто повторяет один и тот же тест снова и снова

...