gpt4 book ai didi

java - 生成特定长度范围内唯一的字符串

转载 作者:行者123 更新时间:2023-12-02 09:40:29 25 4
gpt4 key购买 nike

我在弄清楚如何生成 [1;200) 范围长度内的唯一字符串时遇到了一些困难。我想出的代码附在下面:

public static String generateRandString() {

String STRING_TOKENS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
StringBuilder stringBuilder = new StringBuilder();
Random random = new Random();
while(stringBuilder.length() <= 200) {
int index = (int) random.nextFloat() * STRING_TOKENS.length();
stringBuilder.append(STRING_TOKENS.charAt(index));
}

return stringBuilder.toString();
}

问题:

请求 20 个生成的字符串,每次返回“AAAAAAAA”字符串,长度可能为 200 个符号

预期输出:

A7898as7sd6as5da
as87asd67
768asjhg435GhA900324
2g2j3h4gjhgAKL*78a9dd879234
3B234
1

一些限制:

  1. 无需其他库(Google Guava 或 Apache Common)
  2. 仅限 JDK 1.6

非常感谢您的贡献!

最佳答案

试试这个!

for (int i = 0; i < 10; i++)
System.out.println(randomString(ThreadLocalRandom.current().nextInt(0, 200)));


static String randomString(int len) {
String AB = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random rnd = new Random();
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++)
sb.append(AB.charAt(rnd.nextInt(AB.length())));
return sb.toString();
}

如果你想生成唯一的字符串。您可以使用java.util.UUID

import java.util.UUID;
String uuid = UUID.randomUUID().toString();

关于java - 生成特定长度范围内唯一的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45106901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com