gpt4 book ai didi

Java - 如何检查字符串中的重复字符?

转载 作者:搜寻专家 更新时间:2023-11-01 01:28:54 25 4
gpt4 key购买 nike

我需要编写一个函数来检查字符串中的重复值并返回唯一字符数。如果计数大于 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;
}

我尝试使用正则表达式,因为有人建议它可能更容易。但是,如果我可以在没有正则表达式的情况下完成此操作,我会更开心。

是这个意思吗?

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);
}
}

我觉得这还不太对...

最佳答案

你几乎在那里。您可以使用索引:i 索引 String 并使用 charAt(int) 读取特定字符,而不是使用正则表达式.

然后您需要一个数据结构来跟踪每个字符出现的次数。我建议为此使用 HashMap,映射键是您已阅读的 Character,映射值是数字的 Integer 计数发生的次数。

关于Java - 如何检查字符串中的重复字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7931012/

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