whileループで、無効な入力を1回行った後、ループが有効な回答を返さないようにし、「エラー!無効な顧客タイプ。再試行してください」を繰り返します。プログラムを閉じるまで何度も繰り返します。初めて入力として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 ;
}