使用java根据时间戳,生成一个8位随机的大写字母字符串,不能重复。代码怎么写
时间: 2024-03-10 20:50:55 浏览: 94
可以使用Java的Random类和当前时间戳来生成一个随机的大写字母字符串,然后再检查是否重复。如果重复了就再次生成,直到生成一个不重复的字符串为止。以下是一个可能的实现:
```java
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class RandomStringGenerator {
private static final int STRING_LENGTH = 8;
public static String generate() {
Random random = new Random(System.currentTimeMillis());
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Set<String> generatedStrings = new HashSet<>();
while (true) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < STRING_LENGTH; i++) {
int index = random.nextInt(alphabet.length());
char c = alphabet.charAt(index);
sb.append(c);
}
String randomString = sb.toString();
if (!generatedStrings.contains(randomString)) {
generatedStrings.add(randomString);
return randomString;
}
}
}
}
```
这个实现会生成一个8位的随机字符串,其中每个字符都是从大写字母表中随机选取的。使用一个Set来保存已经生成的字符串,如果新生成的字符串已经存在于Set中,就继续生成,直到生成一个不重复的字符串为止。
阅读全文