不重复的数字加字母。不可以有1,l,o,0

main(){
    puDhm();
}
       //判断六位数是否重复,如果重复重新生成
           public String puDhm(){
               String dhm = puDhm1();
               SuRedNewPacket redNewPacket = redNewPacketService.selectDhm(dhm);//兑换码去重
               if(redNewPacket != null){
                  return puDhm();
                }else{
                   return dhm;
               }
           }
           //生成六位数
           public static String puDhm1(){
               String dhm = "";
               for(int a=0;a<6;a++){
                   dhm += returnDhm1();
               }
               return dhm;
           } 
        //此如果带有一下字母或数字那么重新生成
           public  static String returnDhm1(){
               String val = returnDhm(); 
               if(val.contains("o") || val.contains("l") || val.contains("0") || val.contains("1")){
                   return returnDhm1();
               }else{
                   return val;
               }
          }   
       //生成一个数字   或字母
        public static String returnDhm(){
              String val = "";  
              Random random = new Random();        
              String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";  
              //输出字母还是数字  
              if( "char".equalsIgnoreCase(charOrNum) ) {  
                  //输出是大写字母还是小写字母  
                  int temp = 97;//小写字母
                  val = (char)(random.nextInt(26) + temp)+"";  
              } else if( "num".equalsIgnoreCase(charOrNum) ) {  
                  val = String.valueOf(random.nextInt(10));  
              }  
              return val;

          }   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值