如何在JAVA中随机产生10位不可重复字串的方法

2025-02-08 07:55:04
推荐回答(3个)
回答(1):

/**
 * 生成不重复随机字符串包括字母数字
 *
 * @param len
 * @return
 */
public static String generateRandomStr(int len) {
    //字符源,可以根据需要删减
    String generateSource = "0123456789abcdefghigklmnopqrstuvwxyz";
    String rtnStr = "";
    for (int i = 0; i < len; i++) {
        //循环随机获得当次字符,并移走选出的字符
        String nowStr = String.valueOf(generateSource.charAt((int) Math.floor(Math.random() * generateSource.length())));
        rtnStr += nowStr;
        generateSource = generateSource.replaceAll(nowStr, "");
    }
    return rtnStr;
}

public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
        System.out.println(generateRandomStr(8));
    }
}

回答(2):

这不很简单,给你个csdn博客的页面一看,好几种方法:
java 生成 序列号 随机字符串
http://blog.csdn.net/zl378837964/article/details/40394459

回答(3):

  1. 将字母存入集合

  2. 产生集合大小的随机数,取出该随机数对应下标的字母,从集合中去除该字母

  3. 循环十次拼接字母打印出来