Java生成一个随机字符串

本文介绍了一个使用Java编写的随机字符串生成器,该程序能够生成指定长度的随机字符串,涉及StringBuffer、Random类的使用,并详细解释了核心代码的运作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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”中的字符转为字符型。 


原帖地址


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值