首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查Java中的4位代码中是否有双字母

如何检查Java中的4位代码中是否有双字母
EN

Stack Overflow用户
提问于 2015-01-16 14:01:01
回答 4查看 1.7K关注 0票数 0

上面的问题可能看上去很模糊,但实际上这是一个非常简单的想法,我似乎无法理解。

它基本上是一个包含从A到F的字母的4位字母代码,例如:ABDFBAAFDBAF等。

现在,我试图做一些帖子输入处理,在那里,它必须是不可能输入一个字母,已经在代码中,因为它必须是一个独特的4位代码,没有重复的字母。我一直在努力让它起作用,但我的代码似乎都不起作用,所以我重新开始向你们寻求帮助:)

我希望这件事有点清楚,否则我会很乐意澄清的。提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-01-16 14:04:44

代码语言:javascript
复制
public static boolean hasDuplicateChars(String string) {
    Set<Character> chars = new HashSet<Character>();
    for (char c : string.toCharArray()) {
        if (!chars.add(c)) return false;
    }
    return true;
}

设置是一个不包含重复元素的集合。我们将使用添加方法,如果此集合尚未包含指定的元素,则返回true。

hasDuplicateChars函数使用toCharArray函数和for循环迭代输入字符串中的字符;每个字符被添加到最初为空的chars集合中。如果add方法返回false,则意味着我们以前已经遇到过相同的字符。所以我们从函数中返回false。

否则,输入是有效的,方法返回true。

票数 1
EN

Stack Overflow用户

发布于 2015-01-16 14:05:06

一种伪码,但会有用的。

代码语言:javascript
复制
String uniquePass="";
while(uniquePass.length<4){
    String userInput=getUserInputChar()
    if(uniquePass.contains(userInput))
      rejectInputAndNotifyUser
        else
      uniquePass=uniquePass+userInput
}
票数 2
EN

Stack Overflow用户

发布于 2015-01-16 14:03:44

使用此函数,您将能够查看字符串是否包含唯一字符

代码语言:javascript
复制
public static boolean checkForUnique(String str){
    boolean containsUnique = false;

    for(char c : str.toCharArray()){
        if(str.indexOf(c) == str.lastIndexOf(c)){
            containsUnique = true;
        } else {
            containsUnique = false;
        }
    }

    return containsUnique;
}

更新:

这将在每次用户输入一个字符时运行,如果它失败,这将意味着有一个重复。您可以选择放弃该输入或显示错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27985641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档