出於某種原因,當我有多個正確的字符串,聲明不斷重複做而字符串驗證(使用多個字符串)
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