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));