dabocaiqq
2020-06-01 17:25
采纳率: 66.6%
浏览 151

高分悬赏:Java语言如何才能计算一个20位数中有哪些数字是没有重复过的

高分悬赏:Java语言如何才能计算一个20位数中有哪些数字是没有重复过的
高分悬赏:Java语言如何才能计算一个20位数中有哪些数字是没有重复过的

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 已采纳

    首先将数值转换为字符串,然后遍历字符串各个字符,用 Set 计划判断,如果集合中存中,就是重复数字了。
    使用 JDK 的库函数有,整后就能得到了。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • shu930721 2020-06-01 17:35
    public static void main(String[] args) {
            String number="12346575757575757589";
            int foot=-1;
            for(int i=0;i<10;i++){
                if(number.contains(i+"")){
                    foot=number.indexOf(i+"");
                    if(number.indexOf(i+"", foot+1)==-1){
                        System.out.println(i+"");
                    }
                    else{
                        continue;
                    }
                }
                else{
                    continue;
                }
            }
        }
    

    输出结果:

    1
    2
    3
    4
    6
    8
    9
    
    评论
    解决 无用
    打赏 举报
  • qybao 2020-06-03 10:36

    灵活使用字符串分割,按照该数字分割,如果该数字没出现过则返回的数组长度为1,出现过1次则返回数组的长度为2,出现n次则返回数组长度为n+1

    public class Sample {
        public static void main(String[] args) {
            String s = "12346789123456789012";
            for (int i=0; i<9; i++) {
                String regx = String.format("%d", i); 
                if (s.split(regx, -1).length==2) {
                    System.out.printf("[%d]没有重复\n", i);
                }
            }
        } 
    }
    
    评论
    解决 无用
    打赏 举报
  • 辉机辉过天空 2020-06-05 15:59

    利用叠加方式

    String a="12233344455677890";
    Map<String,Integer> map = new HashMap<>();
    for (String a1:a.split("")) {
        map.put(a1,map.getOrDefault(a1,0)+1);
    }
    for (Map.Entry<String,Integer> str : map.entrySet()) {
        if(str.getValue().equals(1)){
            System.out.println(str.getKey());
        }
    }
    
    评论
    解决 无用
    打赏 举报
  • 轻云K 2020-06-11 14:39

    用一个arr 长度为10,根据下标0-9 去遍历字符串,存0-9出现的次数就OK了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题