生成不重复的数字的判断

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuanzhangran/article/details/73842132

方法1:通过死循环

调用:
            main(){//main方法
                for (;;){//创建一个死循环
                        sequenceNumber = getCard();//生成12位序列号
                        sequenceNumber = checkSequenceNumber(sequenceNumber);//验证序列号
                        if (StringUtils.isNotBlank(sequenceNumber)) {
                            break;//如果不重复,那么跳出循环,否则继续循环生成序列号,然后验证,周而复始
                        }
                    }

            }
     //生成12位序列号
        public static String getCard(){
            Random rand = new Random();//生成随机数
            String cardNnumer1 = "";
            Integer card = rand.nextInt(9)+1;//第一个数字不可为0
            for(int a=0;a<11;a++){
                cardNnumer1+=rand.nextInt(10);//生成11位数字
            }
            return card+cardNnumer1;
        }
        /**
         * 验证是否有相同的序列号
         * @param sequenceNumber
         * @return
         */
        public String checkSequenceNumber(String sequenceNumber){
            SuRedNewPacket packet=redNewPacketService.checkSequenceNumber(sequenceNumber);
            if(packet!=null){
                return null;
            }else {
                return sequenceNumber;
            }       
        }

方法2:面向对象,多次调用

          //main方法
            main(){
                dhm = returnBarCode();
            }
           /**
            * 验证vip红包兑换码
            * @return
            */
           public String returnBarCode(){
               String dhm = getCard1();//调用生成验证码
               SuRedNewPacket redNewPacket = redNewPacketService.selectDhm(dhm);//兑换码去重
               if(redNewPacket != null){//如果有相同的,就继续生成,周而复始
                  return returnBarCode();
               }else{
                   return dhm;
               }
           }
           //生成vip兑换码
           public static String getCard1(){
               String dhm = "";
                Random rand = new Random();//生成随机数
                for(int a = 0; a < 8; a++){
                    dhm += rand.nextInt(10);
                }
               return dhm;
           }

猜你喜欢

转载自blog.csdn.net/xuanzhangran/article/details/73842132
今日推荐