java生成6位验证码_用java生成6位验证码,由大小写数字组成,不能重复字符

本文介绍如何使用Java生成一个包含大小写字母和数字的六位验证码,确保每个字符不重复。通过Random类生成随机数,并利用HashSet存储以避免重复。具体实现包括获取随机字母和数字的方法,以及生成指定长度不重复验证码的逻辑。
摘要由CSDN通过智能技术生成

展开全部

生成随机可以用Random类,不能重复可以考虑放在HashSet中,因为HashSet的值是不能重复的,看代码如下62616964757a686964616fe4b893e5b19e31333363363531:public class GenerateRandomLetterAndNum {

public static void main(String[] args) {

Set store = getletterandnum(6);

printSet(store);

}

public static Set getletterandnum(int length) {

Set set =new HashSet();

for (int i = 0; i 

String value = getrandom();

set.add(value);

}

if (set.size()

String value = getrandom();//继续调用生成随机数的方法

set.add(value);

}

return  set;

}

private static String getrandom() { //生成随机字母和数字方法

String value = "";

Random random = new Random();

int gen = random.nextInt(2);//0、1、2

String charornum = gen % 2 == 0 ? "char" : "num";

if ("char".equals(charornum)) {

int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;

int ascii = random.nextInt(26);

value += (char) (ascii + temp);

} else if ("num".equalsIgnoreCase(charornum)) {

value += String.valueOf(random.nextInt(10));

}

return value;

}

public static  void printSet(Set set){ //打印set的方法

Iterator iterator = set.iterator();

while (iterator.hasNext()) {

String ele = (String) iterator.next();

System.out.print(ele+" ");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值