Java生成随机长度的随机字符串

1. 效果展示

生成10个长度为5-10的字符串:
在这里插入图片描述

可以看到,这里的字符串长度均在要求的范围内,字符串内容包含了常用的字符。

2. 代码及注释

package csdn;

import java.util.Random;

public class CSDN {

	public static void main(String[] args) {
		
		// 调用10次随机字符串生成函数并打印在控制台上
		for (int i = 0; i < 10; i++) {
			String randomString=getRandomString(5,10);
			System.out.println(randomString);
		}
	}
	public static String getRandomString(int minLength, int maxLength) {
		// 定义随机数生成器,用来产生长度和字符
		Random random = new Random();
		
		// 获得字符串的长度(限定在最大长度内)
		int length = (int) (maxLength * random.nextDouble());
		
		// 限制字符串的最小长度
		length = length > minLength ? length : minLength;
		
		// 定义字符数组存储生成的字符
		char[] charArray = new char[length];
		
		// 生成length个字符,放入charArray中
		for (int i = 0; i < length; i++) {
			
			// 生成一个32-126之间的整数,代表了ASCII码表中常用的字符
			int tempInt = 32 + (int) (94 * random.nextDouble());
			
			// 将整数转为字符型数据储存
			charArray[i] = (char) (tempInt);
		}
		
		// 将字符数组转为字符串返回
		return new String(charArray);
	}
}

这里注释比较清楚,就不再一一解释了,讲一下字符的生成方法吧

3. 字符生成

字符生成的语句如下:

int tempInt = 32 + (int) (94 * random.nextDouble());
charArray[i] = (char) (tempInt);

第二句不用解释了,说一下第一句。

放一张ASCII码表:
在这里插入图片描述
这里的代码就是相应字符对应的十进制整数的值。

可以看到,从32(space)开始直到126(~)为止,都是我们常用的字符,因此程序中tempInt的取值就设置在了32-126之间。

如果有特殊的需求,可以通过更改第一行代码的数字来更换字符的范围。

4. 多多点赞交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值