Java生成一个随机字符串

import java.util.Random; 

public class genstr
{
	public static void main(String [] args) 
	{ 
		String ccxl=generateString(100); 
		System.out.print(ccxl); 
	} 

	public static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
	public static final String letterChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
	public static final String numberChar = "0123456789"; 


	public static String generateString(int length) //参数为返回随机数的长度 
	{ 
		StringBuffer sb = new StringBuffer(); 
		Random random = new Random(); 
		for (int i = 0; i < length; i++) 
		{ 
			sb.append(allChar.charAt(random.nextInt(allChar.length()))); 
		} 
		return sb.toString(); 
	} 
} 
重点分析:
注释1、sb.append(allChar.charAt(random.nextInt(allChar.length()))) 
注释2、sb:为StringBuffer的一个对象,可以理解为String型的数据,但由于StringBuffer是非静态方法,所以必须先实例化(生成一个对象)后再使用 
注释3、sb.append(X):将括号里的数据X转换成sb对应的类型,由于“StringBuffer sb = new StringBuffer();”已经将sb定义为字符串类型,所以X也将随之转换成String型数据,因为我们最终需要输出的是一个字符串。 
注释4、charAt:表示获取某个定位的字符 
注释5、allChar.charAt(n):表示获取allChar中第n个字符,比如n=2,返回结果为“2”;又比如n=10,返回“A” 
注释6、nextInt:游标,即这个东西指到哪里就取哪里的数据。 
注释7、random.nextInt(n):随机游标,及在0到n的范围内无规则的取数,从而实现随机效果 
注释8、allChar.length():字符串allChar的长度。 
注释9、random.nextInt(allChar.length()):任意读取allChar长度范围内的数字,即allChar长度为62就在0-62中间任意取值,千万搞清楚并不是取allChar对应字符串里面的字符。 
注释10、allChar.charAt(random.nextInt(allChar.length())):任意读取allChar对应字符串中的一个字符。 

注释11、sb.append(allChar.charAt(random.nextInt(allChar.length()))):将“注释10”中的字符转为字符型。 


原帖地址


阅读更多
个人分类: Java
上一篇C语言生成随机字符串
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭