Java模拟获取随机车牌号的两种方式

通过简单的几行代码,模拟用户选车牌的业务场景,这边只是简单的获取随机车牌,没有任何业务交互!这边提供了2种方式获取随机车牌,首先是定义好字母数组和车牌数组,方式一是每个字符都是随机获取字母或数字方式二是把字母和数字都放在集合种,每次都打乱集合的顺序,获取集合的前5个元素。个人觉得方式一更好些!

有兴趣的可以做一个延伸,例如:显示过的再一次执行的时候就直接过滤掉等

以下是源码:

public class CarNumberController {
    
    

    private static Random random = new Random();
    private static final String[] arr1 = {
    
    "A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"};
    private static final String[] arr2 = {
    
    "0","1","2","3","4","5","6","7","8","9"};
    private static final boolean[] arr3 = {
    
    false,true};

    //获取随机字符(字母或数字)
    public static String getSingleStr(boolean flag){
    
    
        if (flag) {
    
    
            return arr1[random.nextInt(arr1.length)];
        } else {
    
    
            return arr2[random.nextInt(arr2.length)];
        }
    }

    //方式一
    public static String method1(){
    
    
        StringBuilder sb = new StringBuilder();
        sb.append("苏U");
        for (int j = 0; j < 5; j++) {
    
    
            sb.append(getSingleStr(arr3[random.nextInt(arr3.length)]));
        }
        return sb.toString();
    }

    //方式二
    public static String method2(){
    
    
        List<String> list = new ArrayList<>();
        list.addAll(Arrays.asList(arr1));
        list.addAll(Arrays.asList(arr2));
        Collections.shuffle(list);
        StringBuilder sb = new StringBuilder();
        sb.append("苏U");
        for (int i = 0; i < 5; i++) {
    
    
            sb.append(list.get(i));
        }
        return sb.toString();
    }

    public static void main(String[] args) {
    
    
        List<String> list = new ArrayList<>(50);
        for (int i = 0; i < 50; i++) {
    
    
            list.add(method1());
//            list.add(method2());
        }
        System.out.println(list);
    }
}

运行结果如下:
运行结果展示

猜你喜欢

转载自blog.csdn.net/weixin_50989469/article/details/123273053