我有一种检查用户是否为学生的方法,但是我无法通过它验证条件。

char custStud = '0';
Scanner input = new Scanner(System.in);

do{
       System.out.println("Are you a student? (Type Y or N): ");
       custStud = input.next().charAt(0);
       custStud = Character.toLowerCase(custStud);
  }
  while (custStud != 'y' || custStud != 'n');


当我启动该程序时,即使输入了“ y”或“ n”,它也不会中断循环。我怀疑custStud更改为小写字母后可能会意外更改类型,但是我不确定。
如何使此循环正常工作?

最佳答案

while (custStud != 'y' || custStud != 'n')始终为true,因为custStud不能同时等于'y'和'n'。

您应将条件更改为:

while (custStud != 'y' && custStud != 'n')

09-25 17:12