package com.yl.springboottest.str;import org.apache.commons.lang3.RandomStringUtils;import java.util.Random;/** * 描述: Java 随机生成字符串 */public class CreateRandomStr { /** * 1.生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random; * @param length * @return */ public static String createRandomStr1(int length){ String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random = new Random(); StringBuffer stringBuffer = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(62); stringBuffer.append(str.charAt(number)); } return stringBuffer.toString(); } /** * 2.可以指定某个位置是a-z、A-Z或是0-9,需要导入的包是import java.util.Random; * @param length * @return */ public static String createRandomStr2(int length){ Random random = new Random(); StringBuffer stringBuffer = 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); stringBuffer.append(String.valueOf((char)result)); break; case 1: result = Math.round(Math.random()*25+97); stringBuffer.append(String.valueOf((char)result)); break; case 2: stringBuffer.append(String.valueOf(new Random().nextInt(10))); break; } } return stringBuffer.toString(); } /** * 3.org.apache.commons.lang包下有一个RandomStringUtils类, * 其中有一个randomAlphanumeric(int length)函数,可以随机生成一个长度为length的字符串。 * @param length * @return */ public static String createRandomStr3(int length){ return RandomStringUtils.randomAlphanumeric(length); } /** * 生成指定位数的随机数 * @param length * @return */ public static Integer createRandomNumber(int length){ String count = "1"; for (int i = 1; i < length; i++) { count += "0"; } return (int)((Math.random()*9+1)*Integer.valueOf(count)); }}
// 生成1000到9999之间的随机数System.out.println((int)(Math.random()*(9999-1000+1)+1000));// 生成6位随机数System.out.println((int)((Math.random()*9+1)*100000));// 生成5位随机数System.out.println((int)((Math.random()*9+1)*10000));// 生成4位随机数System.out.println((int)((Math.random()*9+1)*1000));