Java实现获取指定长度随机字符串

思路:使用assic码表,三个范围:数字(48-57),大写字母(65-90),小写字母(97-122)

代码:

import java.util.Random;
 
/**
 * 随机字符串工具
 * 
 * @author volitation
 *
 */
public class RandomString {
 
	/**
	 * 获取指定长度随机字符串
	 * 
	 * @param length
	 * @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();
	}
	
	/**
	 * 测试验证
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println(RandomString.getRandomString(5));
		System.out.println(RandomString.getRandomString(10));
		System.out.println(RandomString.getRandomString(15));
	}
 
}

测试:

NVadc
8C1UH1Y0hS
dfiXZMR22pv422I

ASCII码表:

猜你喜欢

转载自blog.csdn.net/qq_41995919/article/details/115299461