在给定某个给定基数的情况下,是否有内置(或其他微不足道)的方法在Java中生成随机字符串?
例如,randStringCard(10,2)
会创建一个长度为10的随机字符串,但只有两个可能的唯一值
RandStringCard(1,26)
将生成具有26个值的单个字符,randStringCard(*,1)
将始终生成相同的输出。
答案 0 :(得分:0)
可以使用Random
和nextInt(
<#differentChars>
)
来获取int
的不同范围你想要支持的人物。然后,您需要将此数字转换为String
并将其添加到结果中,重复&#34; desiredLength&#34;次。
要将数字转换为String
,您可以执行以下操作:
if (n < 26)
s += (char)('A' + n); // A-Z is used first
else if (n < 36)
s += n - 26; // then 0-9
else
s += ???; // symbols or lower case letters
答案 1 :(得分:0)
可能会有用
import java.security.SecureRandom;
...
System.out.println(new BigInteger(50, new SecureRandom()).toString(32));