package com.ruoyi.common.utils;
|
|
import java.util.Random;
|
|
/**
|
* Created by zhuweiping
|
* 随机数工具类
|
* on 2021/4/8.
|
*/
|
public class RandomUtils {
|
|
|
/**
|
* 生成指定位数数字随机数字
|
* @param n
|
* @return
|
*/
|
public static String random(int n) {
|
if (n < 1 || n > 10) {
|
throw new IllegalArgumentException("cannot random " + n + " bit number");
|
}
|
Random ran = new Random();
|
if (n == 1) {
|
return String.valueOf(ran.nextInt(10));
|
}
|
int bitField = 0;
|
char[] chs = new char[n];
|
for (int i = 0; i < n; i++) {
|
while(true) {
|
int k = ran.nextInt(10);
|
if( (bitField & (1 << k)) == 0) {
|
bitField |= 1 << k;
|
chs[i] = (char)(k + '0');
|
break;
|
}
|
}
|
}
|
return new String(chs);
|
}
|
|
/**
|
* 生成带时间+随机数 字符串
|
* @param prefix 前缀
|
* @param randomNum 随机数位置
|
* @return
|
*/
|
public static String getDateTimeNowRandom(String prefix,int randomNum){
|
try{
|
return prefix+DateUtils.dateTimeNow()+ random(randomNum);
|
}catch (Exception e){
|
return "";
|
}
|
}
|
/**
|
* 生成带时间+随机数 字符串
|
* @param prefix 前缀
|
* @param randomNum 随机数位置
|
* @return
|
*/
|
public static String getDateTimeNowRandom(String prefix,String suffix,int randomNum){
|
try{
|
return prefix+DateUtils.dateTimeNow()+ random(randomNum)+suffix;
|
}catch (Exception e){
|
return "";
|
}
|
}
|
|
|
public static void main(String[] args)
|
{
|
String A = "2";
|
Long b = Long.valueOf(A);
|
System.out.println(random(4));
|
}
|
}
|