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

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java生成随机车牌号可以通过以下步骤实现: 1. 定义车牌号的规则:根据不同地区的车牌号规则,确定车牌号的格式,例如:省份+字母+数字。 2. 创建一个包含所有可能字符的数组:根据车牌号规则,创建一个包含所有可能字符的数组,包括省份、字母和数字。 3. 使用随机生成车牌号:通过随机生成对应位置的字符,组合成完整的车牌号。 下面是一个示例代码: ```java import java.util.Random; public class RandomLicensePlateGenerator { public static void main(String[] args) { String[] provinces = {"京", "津", "沪", "渝", "冀", "豫", "云", "辽", "黑", "湘", "皖", "鲁", "新", "苏", "浙", "赣", "鄂", "桂", "甘", "晋", "蒙", "陕", "吉", "闽", "贵", "粤", "青", "藏", "川", "宁", "琼"}; String[] letters = {"A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"}; int[] numbers = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; Random random = new Random(); String licensePlate = provinces[random.nextInt(provinces.length)] + letters[random.nextInt(letters.length)] + numbers[random.nextInt(numbers.length)] + numbers[random.nextInt(numbers.length)] + numbers[random.nextInt(numbers.length)]; System.out.println("随机生成车牌号为:" + licensePlate); } } ``` 这段代码中,我们定义了省份、字母和数字的数组,然后使用`Random`类生成随机数来选择对应位置的字符,最后将它们组合成完整的车牌号。运行代码后,会输出一个随机生成车牌号

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值