對於這個簡單的代碼,我遇到了非常艱難的時刻。我的while條件總是被忽略,並且print語句被執行。請幫忙。使用while循環驗證字符串輸入
package Checkpoints;
import java.util.Scanner;
public class Check05 {
public static void main (String[]args){
Scanner keyboard = new Scanner(System.in);
/**
* Write an input validation that asks the user to enter 'Y', 'y', 'N', or 'n'.
*/
String input, Y = null, N = null;
System.out.println("Please enter the letter 'Y' or 'N'.");
input = keyboard.nextLine();
while (!input.equalsIgnoreCase(Y) || !(input.equals(N)))
//|| input !=y || input !=N ||input !=n)
{
System.out.println("This isn't a valid entry. Please enter the letters Y or N");
input = keyboard.nextLine();
}
}
}
你永遠不會分配值給Y或N,然後在比較中使用它們。 – OldProgrammer
你的'Y'和'N'是空對象。沒有什麼東西等於'null'對象。 – RealSkeptic
嘗試使用調試器逐步執行代碼。 –