random number generator for special characters
本问题已经有最佳答案,请猛点这里访问。
我正在尝试生成带有特殊字符的随机数
我对简单整数所做的是
在我的随机数中我能做些什么来得到这样的东西
1 |
谢谢
您可以尝试以下操作:
- 初始化特殊字符集。
- 创建一个StringBuilder来包含所需的字符串。
- 获取随机字符并附加到StringBuilder对象。
代码:
1 2 3 4 5 6 7 8 |
如果您愿意使用第三方库,您可能会发现ApacheCommonsLang的
您可以指定允许的字符集(或使用所有可用的字符)。
如果您要生成此http://en.wikipedia.org/wiki/special_characters special characters,请尝试此操作
1 | char c = (char) (randomGenerator.nextInt(0xB4 - 21 + 1) + 21); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import java.util.*; class Test { static Random r = new Random(); static char[] choices = ("abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "01234567890" + "$#_").toCharArray(); public static String getSalt(int len) { StringBuilder salt=new StringBuilder(len); for (int i = 0; i<len; ++i) salt.append(choices[r.nextInt(choices.length)]); return salt.toString(); } public static void main(String[]_) { System.out.println(getSalt(32)); } } |
示例输出:
1 2 3 4 5 6 7 8 9 |