まあ、私はそれについて移動する非正規表現の方法を参照してください。あなたがしたい場合は、機能インタフェースを使用して、早期終了述語抽象
public boolean isValidPassword(String s) {
int lowerCase = 0;
int upperCase = 0;
int numeric = 0;
int special = 0;
for (int c = 0; i < s.length(); i++) {
char i = s.charAt(c);
if (i >= 'A' && i <= 'Z') {
upperCase++;
} else if (i >= 'a' && i <= 'z') {
lowerCase++;
} else if (i >= '0' && i <= '9') {
numeric++;
} else {
special++;
}
//early ending case
return lowerCase > 1 && upperCase > 1 && numeric > 0;
}
return false;
}
をできます
@FunctionalInterface
private static interface PasswordMatch {
public boolean match(int lowerCase, int upperCase, int numbers, int special);
}
public boolean isValidPassword(String s, PasswordMatch matcher) {
//...
//in loop
if (matcher.match(lowerCase, upperCase, numeric, special) {
return true;
}
//...
}
このようにすること状況に応じて電話をかけてください:
if (isValidPassword(/* some pass */, (lower, upper, number, spec)
-> lowerCase > 1 && upperCase > 1 && numeric > 0)) {
//etc...
}
まだ試しましたか?正規表現の参照にはどのサイトを使用していますか? – VGR
^あなたの質問に追加してください。 – halfer
^それをあなたの質問に「コードフォーマットを使用して」追加してから、それをさらに下降させてください。 – halfer