Java等于("[a-zA-Z] +")总是错误的

0 java

所以,我正在尝试创建一些只包含字母的kinderCode(String).如果它确实包含不是字母的字符,则需要让用户为kinderCode提供一个新值,然后再次检查该值.这里的问题是永远不会留下while循环.条件总是返回false.

kinderCode = input.next();       
while (!(kinderCode.equals("[a-zA-Z]+"))) {
     System.out.println("Foute ingave! Kindercode?");
     kinderCode = input.next();
}
Run Code Online (Sandbox Code Playgroud)

Nic*_*s K 6

你需要使用 .matches()

while (!(kinderCode.matches("[a-zA-Z]+"))) {

// rest of the code 
}
Run Code Online (Sandbox Code Playgroud)

matches(String regex)

判断此字符串是否与给定的正则表达式匹配

.equals()用于比较平等的字符串.