java 生成不重复字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 生成不重复字符串相关的知识,希望对你有一定的参考价值。

现有一个方法可以返回15个字符串中的随机一个,如何能将这15个字符串经过15次循环全部显示出来(每次都返回不同的字符串)并且在运行第16次的时候显示一段话。

方法如下:

/**
 * 生成不重复随机字符串包括字母数字
 *
 * @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));
    

参考技术A 这么说
通过生成随机数每个随机数1-15对应一个字符串
生成随机数后通过看这个随机数是不是出现了的
然后输出
怎么判断是否重复出现可以先 new a[15]
全部赋值为0然后 a[random(i)]
例如第一个是2
那么a[2]=1;
这么判断是否重复出现
至于随机数的函数自己看API
自有自己写才可以快速的提高
参考技术B random ,循环,if else进匹配就这样, 这是主题思路。。 顺着慢慢写,楼主必定会得到满意的答案 参考技术C 定义集合
定义个变量
for (条件 自++)
查询所有字符
else{
syso("提醒没有了。");
参考技术D 将这15个字符串弄成一个集合,产生随机数,这个随机数的大小从0开始到集合的size(),每产生一个,从集合中删除一个。哥们是否明白?

以上是关于java 生成不重复字符串的主要内容,如果未能解决你的问题,请参考以下文章

java随机生成6位不重复的字符串

java随机生成6位不重复的字符串

java随机生成6位不重复的字符串

java如何生成不重复8位String类型字符串?

Java - 当变量等于字符串时,如果语句没有捕获[重复]

C#如何生成随机不重复的数字