如果用户输入不是y或n,如何使y / n用户输入循环?

问题描述 投票:-1回答:1

我必须在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则再次循环后,请重新执行代码。

java loops for-loop while-loop do-while
1个回答
0
投票

无限循环可能是循环条件不正确的结果。试试这个:

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();
© www.soinside.com 2019 - 2024. All rights reserved.