浏览 6337 次
锁定老帖子 主题:产生随机字符串(a-z A-Z 0-9)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-25
实现方法一: public class RandomFileName { /** * 产生一个随机的字符串 * * @param 字符串长度 * @return */ public static String getRandomString(int length) { String base = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random = new Random(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(base.length()); sb.append(base.charAt(number)); } return sb.toString(); } public static void main(String[] args) { System.out.println(RandomFileName.getRandomString(5)); } } 实现方法二: public class RandomFileName2 { /** * 产生一个随机的字符串 * * @param 字符串长度 * @return */ public static String getRandomString(int length) { Random random=new Random(); StringBuffer sb=new StringBuffer(); for(int i=0;i<length;i++){ int number=random.nextInt(3); long result=0; switch(number){ case 0: result = Math.round(Math.random()*25+65); sb.append(String.valueOf((char)result)); break; case 1: result = Math.round(Math.random()*25+97); sb.append(String.valueOf((char)result)); break; case 2: sb.append(String.valueOf(new Random().nextInt(10))); break; } } return sb.toString(); } public static void main(String[] args) { System.out.println(RandomFileName2.getRandomString(10)); } }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-09-29
其实就是把一个随机数转成26*2+10=62进制
|
|
返回顶楼 | |
发表时间:2009-10-05
这个随机字符串的生成类真不错,我发现可以把它加以改进,比如加上特殊字符,将传入的参数设置为16或更多,可以用于生成强密码。谢谢分享!
|
|
返回顶楼 | |
发表时间:2009-10-06
读一个perl程序上来就可以了
|
|
返回顶楼 | |