Как сделать Y / N цикл пользовательского ввода, если пользовательский ввод не Y или N? - PullRequest
0 голосов
/ 27 октября 2019

Я должен сделать текстовую игру в Java-программировании. Я хочу реализовать цикл, который зацикливается, если пользовательский ввод String не y или n, а если они y или n, то следуйте по коду.

Я дважды добавил цикл do while. Первый раз цикл продолжал работать бесконечно. И затем второй цикл продолжал работать, даже думая, что вход был y или n.

char YNinput = ' ';
Scanner sc = new Scanner(System.in);
System.out.print("Do you want to play (Yes or No) ");
YNinput = sc.nextLine().trim().toLowerCase().charAt(0);

На данный момент нет ошибок, так как я использовал операторы if else, но когда я добавляю циклы, возникает много ошибок,Ecpected - цикл, который повторяется только в том случае, если ввод не y или n, и после повторения цикла, если ввод y или n, затем выполнить код.

1 Ответ

0 голосов
/ 27 октября 2019

Бесконечный цикл, вероятно, был результатом неправильного условия в вашем цикле. Попробуйте это:

char YNinput = 0;
Scanner sc = new Scanner(System.in);

do {
    System.out.print("Do you want to play (Yes or No) ");
    YNinput = sc.nextLine().trim().toLowerCase().charAt(0);
} while (YNinput != 'y' && YNinput != 'n');

sc.close();
...