java 生成不重复字符串

2025-04-29 12:13:06
推荐回答(2个)
回答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:

这么说
通过生成随机数每个随机数1-15对应一个字符串
生成随机数后通过看这个随机数是不是出现了的
然后输出
怎么判断是否重复出现可以先 new a[15]
全部赋值为0然后 a[random(i)]
例如第一个是2
那么a[2]=1;
这么判断是否重复出现
至于随机数的函数自己看API
自有自己写才可以快速的提高