wujianwei
2025-07-29 53c49aaa32a2ec30715a1aa81f30eb40c8cf6eda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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));
    }
}