Я не могу понять, чтобы напечатать, если ввод пуст или нет - PullRequest
0 голосов
/ 28 января 2020

Итак, я сделал программу, которая зацикливает 2 вопроса из массива. Что я хочу сделать здесь, так это запросить, введен ли пользователь пустым или пустым, а также, если пользователь вводит любые другие буквы, цифры или символы, кроме a, b и c. Здесь происходит то, что, когда я вводю первый вопрос, он также печатает «Этот ответ не может быть пустым», чего не должно быть, поскольку я ввел правильный ввод.

for(int i = 0; i < question.length; i++){
    do{
        System.out.print(question[i].prompt + "\nAnswer: ");
        answer = s.nextLine();
        if(!answer.equalsIgnoreCase("a") &&
           !answer.equalsIgnoreCase("b") &&
           !answer.equalsIgnoreCase("c")){  
                System.out.println("Invalid input!\n");
        } if(!answer.isEmpty()){
            System.out.println("The answer can't be blank.\n");
        }
    } while(!answer.equalsIgnoreCase("a") &&
        !answer.equalsIgnoreCase("b") &&
        !answer.equalsIgnoreCase("c") &&
        !answer.isEmpty());
    if(answer.equalsIgnoreCase(question[i].answer)){
            score++;
    }
}

1 Ответ

1 голос
/ 28 января 2020

ваш код должен выглядеть примерно так ...

for(int i = 0; i < question.length; i++){
    do{
        System.out.print(question[i].prompt + "\nAnswer: ");
        answer = s.nextLine();
        if(answer.isEmpty()){
            System.out.println("The answer can't be blank.\n");
        }else if(!answer.equalsIgnoreCase("a") &&
           !answer.equalsIgnoreCase("b") &&
           !answer.equalsIgnoreCase("c")){  
                System.out.println("Invalid input!\n");
        } 
    } while(!answer.equalsIgnoreCase("a") &&
        !answer.equalsIgnoreCase("b") &&
        !answer.equalsIgnoreCase("c") &&
        !answer.isEmpty());
    if(answer.equalsIgnoreCase(question[i].answer)){
            score++;
    }
}

Что я изменил в коде: убрал несколько ifs, вместо этого использовал if-else и удалил ! с !answer.isEmpty(). Надеюсь, это поможет вам: -)

счастливое кодирование

...