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;
}
不重复的数字加字母。不可以有1,l,o,0
最新推荐文章于 2024-10-17 14:54:54 发布
本文介绍了一种生成不重复的六位数字和字母组合的兑换码的方法。该方法通过循环生成随机数字或字母,并排除易混淆的字符如'o'、'l'、'0'和'1',确保兑换码的清晰性和唯一性。
5148

被折叠的 条评论
为什么被折叠?



