如何检查一个数字是否包含多个相同的数字? (JAVA)

时间:2014-02-14 00:20:24

标签: java string numbers

我正在尝试这样做:

用户输入一个数字,例如2013或2012,它检查该数字是否有任何重复出现的数字,如2012年有2但我不知道从哪里开始。

3 个答案:

答案 0 :(得分:2)

   public static boolean hasDuplicates(String text){
        for(int i = 0; i < text.length() - 1; i++){
            for(int j = i + 1; j < text.length(); j ++){
                if(text.charAt(i) == text.charAt(j)){
                    return true;
                }
            }
        }
        return false;
    }

答案 1 :(得分:1)

你可以这样做:

public static boolean containsDuplicate(int number) {
    String strNum = number.toString();
    for(int i=0; i < strNum.length() -1 ; i++){
          if( containsDuplicatedValue(strNum, strNum.charAt(i) )
              return true;
    }
    return false;
}

private static boolean containsDuplicatedValue(String str, char searchFor) {
    return str.indexOf(searchFor) != str.lastIndexOf(searchFor);
}

答案 2 :(得分:0)

这是检查重复项的方法。如果第一次出现number的索引与上次出现的索引不同,则number必须出现多次。

public static boolean containsDuplicate(String str, int number) {
    return str.indexOf(number) != str.lastIndexOf(number);
}