创建给定基数的随机字符串

时间:2015-05-24 19:26:53

标签: java random cardinality

在给定某个给定基数的情况下,是否有内置(或其他微不足道)的方法在Java中生成随机字符串?

例如,randStringCard(10,2)会创建一个长度为10的随机字符串,但只有两个可能的唯一值

RandStringCard(1,26)将生成具有26个值的单个字符,randStringCard(*,1)将始终生成相同的输出。

2 个答案:

答案 0 :(得分:0)

可以使用RandomnextInt( <#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));