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

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

生成不重复随机字符串包括字母数字 @param len @return /public static String generateRandomStr(int len) { //字符源,可以根据需要删减 String generateSource = "0123456789abcdefghigklmnopqrstuvwxyz"; String rtnStr = ""; for (int i = 0; i < len; i++) { //循环随机获得当次字符,并移走选出的字符 String nowStr = StringvalueOf(generateSourcecharAt((int) Mathfloor(Mathrandom() generateSourcelength()))); rtnStr += nowStr; generateSource = generateSourcereplaceAll(nowStr, ""); } return rtnStr;}public static void main(String[] args) { for (int i = 0; i < 10; i++) { Systemoutprintln(generateRandomStr(8)); }}

package >

package systemin;

import javaioIOException;

import javautilArrayList;

import javautilList;

public class CharReader {

public static void main(String[] args) throws IOException {

// 先设置26个英文字母

char[] allChar = new char[26];

for (int i = 97; i < 123; i++) {

allChar[i - 97] = (char) i;

}

// 存放已经取到的字符。为了方便使用list以及查找已经获取过的字符,因此使用list,目标是使用它的contains方法

List<String> contentList = new ArrayList<String>();

int count = 5;

while (count > 0) {

// 取随机数,用以乘以26,得到[0,26)(大于等于零,小于26)的数字。

double numDouble = Mathrandom() 26;

// 用得到的结果除以1,可得到0-25一共26个数字中的任何一个。

int position = (int) numDouble / 1;

// 判断对应位置上面的字符是否已经被取到,如果取到则直接进入下一个循环,不做保存处理。

if (contentListcontains(StringvalueOf(allChar[position])))

continue;

// 如果之前没有被取到,则保存到结果集当中,并将计数数字减一。

contentListadd(StringvalueOf(allChar[position]));

count--;

}

// 获取到了指定数目的不同字符,循环输出

for (int i = 0; i < contentListsize(); i++)

Systemoutprintln(contentListget(i));

}

}

需要创建生成器的实例,我们可以使用RandomStringGeneratorBuilder()类build()方法。生成器类还可以帮助我们配置生成器的属性。在调用build()方法之前,我们可以使用以下方法设置构建器的属性:withinRange()指定在生成的字符串中允许的最小和最大代码点。filteredBy()将生成的字符串中的字符限制为与至少提供的谓词之一匹配的字符。这样即可将java定义一个以字母开头的随机字符串。

以上就是关于如何在JAVA中随机产生10位不可重复字串的方法全部的内容,包括:如何在JAVA中随机产生10位不可重复字串的方法、用java实现生成一随机字母(包括大小写),并输出、如何用java输出指定数目的随机不重复字母等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9721239.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存