我需要编写一个函数来检查字符串的重复值并返回唯一字符的数量.如果计数大于3,则应返回true.如果计数小于3,则应为假.这是我一直在尝试的(注意我是java的新手)
private boolean isFormatValid(String password) {
CharSequence inputStr = password;
int length = inputStr.length();
int numberDups = 0;
for(int i=0; i < length; ++i) {
Pattern pattern = Pattern.compile("(.)(?=.*?\1){1,20}");
Matcher matcher = pattern.matcher(inputStr);
numberDups += 1;
}
if (numberDups < 3) {
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我试图使用正则表达式,因为它被认为可能更容易.但如果我能在没有正则表达式的情况下实现这一目标,我会更快乐.
这是什么意思?
private boolean isFormatValid(String password) {
int length = inputStr.length();
int numberChars = 0;
for(int i=0; i < length; ++i) {
int index = password.indexOf(i);
CharArray[i] = charAt(i);
}
}
Run Code Online (Sandbox Code Playgroud)
我觉得这甚至不是正确的......