gpt4 book ai didi

java - 如何使用 .contains 选择字母表中的某些字母

转载 作者:行者123 更新时间:2023-12-05 08:25:53 25 4
gpt4 key购买 nike

我需要用户输入:
- 没有号码
- 长度为 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();
}

这是我目前的代码,它似乎不起作用

最佳答案

去做 as follows :

while(!guess.matches("[RBGPYO]{4}")) {
// ...
}

演示:

public class Main {
public static void main(String s[]) {
// Tests
System.out.println(matches("RBGPYO"));
System.out.println(matches("RBGP"));
System.out.println(matches("R1BGP"));
System.out.println(matches("ABCD"));
System.out.println(matches("1234"));
System.out.println(matches("BGPY"));
System.out.println(matches("BYPG"));
}

static boolean matches(String input) {
return input.matches("[RBGPYO]{4}");
}
}

输出:

false
true
false
false
false
true
true

关于java - 如何使用 .contains 选择字母表中的某些字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60440062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com