Col*_* H. 1 java validation input
我想让用户只输入"y""Y""n"或"N".生成的代码要求用户在输入正确的输入时输入Y或N,这与我预期的放置相反!在input.equalscaseignore(输入)前面.
import java.util.Scanner;
class inputVal {
public static void main(String[] args) {
String Input;
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter Y or N. ");
Input = keyboard.nextLine();
while (!Input.equalsIgnoreCase("Y") || !Input.equalsIgnoreCase("N"))
{
System.out.println("Please enter Y or N");
Input = keyboard.nextLine();
}
keyboard.close();
}
}
Run Code Online (Sandbox Code Playgroud)
这是你的or条件,你必须把它改成and
while (!Input.equalsIgnoreCase("Y") && !Input.equalsIgnoreCase("N"))
Run Code Online (Sandbox Code Playgroud)
只是大声朗读它将有助于理解逻辑:
WHILE输入不相等(忽略大小写)"Y" AND输入不等于(忽略大小写)"N"