在一个while循环中,我使循环在一次无效输入后不会返回有效答案并重复“错误!无效的客户类型。再试一次。” 一遍又一遍,直到我关闭程序。如果我第一次输入 R 或 C 作为输入,它可以正常工作。当我输入其他任何内容时,我收到错误消息“错误!客户类型无效。再试一次。” 就像我应该是故意的。但是,在输入 r 或 c 的错误之后再次给我错误,并且我所做的任何输入都会一遍又一遍地返回错误消息,直到我关闭程序。有人可以告诉我导致这种情况的代码有什么问题吗?
public static String getValidCustomerType(Scanner sc)
{
String customerType = ("");
System.out.println("Enter the Customer Type");
customerType = sc.next() ;
boolean isValid = false;
while (isValid == false)
{
if (customerType.equalsIgnoreCase("R")|customerType.equalsIgnoreCase("C") )
{
isValid = true;
}
else
{
System.out.println("Error! Invalid customer type. Try again ");
}
sc.nextLine() ;
}
return customerType ;
}