出于某种原因,当我有多个正确的字符串,声明不断重复做而字符串验证(使用多个字符串)
do {
System.out.println("Enter Service Code");
Scanner a = new Scanner(System.in);
serviceCode = a.nextLine();
} while (!serviceCode.equals("ORB1") || !serviceCode.equals("ORBH") ||
!serviceCode.equals("ISS5") || !serviceCode.equals("ILLOYDS") ||
!serviceCode.equals("DLAB") || !serviceCode.equals("LEOM7") ||
!serviceCode.equals("MOON2"));
但是,当只有一个字符串代码检查打击。 while语句工作正常,如果你输入“ORB1”将停止循环,当输入了正确的输入
do {
System.out.println("Enter Service Code");
Scanner a = new Scanner(System.in);
serviceCode = a.nextLine();
} while (!serviceCode.equals("ORB1"));
看跌的System.out.println( “ - ” + serviceCode)调用a.nextLine()后,你就会知道为什么^^ –
看看你的条件。假设你输入'“ORB1”'。然后,'!serviceCode.equals(“ORB1”)= False',因为它们是平等的。但是,其他人呢?他们不断返回“真”,因为他们不平等。 –
bcoz所有这些其他或将是真的 – Ramanlfc