我需要用户输入以下内容:-没有数字-长度为4个字符-仅使用某些字母[R,B,G,P,Y,O]我已经弄清楚了如何不做任何数字而只能做4个字符的长度,但是,我似乎无法弄清楚如何限制某些字母(R,B,G,P,Y,O以外的所有字符)。
guess = input.nextLine();
guess = guess.toUpperCase();
while (guess.length() != 4 || guess.contains("[0-9]") || guess.contains("[ACDEFHIJKLMNQSTUVWXZ]")) {
System.out.println("Bad input! Try again");
System.out.println("Use the form \"BGRY\"");
guess = input.nextLine();
}
这是我到目前为止的代码,似乎不起作用
执行以下操作:
public class Main {
public static void main(String s[]) {
System.out.println(matches("RBGPYO"));
System.out.println(matches("RBGP"));
System.out.println(matches("R1BGP"));
System.out.println(matches("ABCD"));
}
static boolean matches(String input) {
return input.matches("[RBGPYO]{4}");
}
}
输出:
false
true
false
false