Java随机生成车牌号

package com.example.springbootdemo.util;

/**
 * @author t-zhaoheng
 * @since 2022/7/14 随机生成车牌号
 */
public class CarNumGenerator {

  /**
   * 中国各个地区的数组
   */
  private static final String[] CAR_AREA_ARRAY = {"京", "津", "沪", "渝", "冀", "豫", "云", "辽", "黑",
      "湘", "皖", "鲁", "新", "苏", "浙", "赣", "鄂", "桂", "甘", "晋", "蒙", "陕", "吉", "闽", "贵", "粤", "青", "藏",
      "川", "宁", "琼"};

  /**
   * 城市代码,不能有字母 I 和 O
   */
  private static final String[] CAR_LETTER_ARRAY = {"A", "B", "C", "D", "E", "F", "G", "H", "J", "K",
      "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V"};

  /**
   * 车牌号,不能有字母 I 和 O
   */
  private static final String[] CAR_CHAR_ARRAY = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "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 int CAR_NUM_LENGTH = 5;

  public static String getCarNum() {
    // 随机获取地区
   String area =  CAR_AREA_ARRAY[(int)(Math.random() * CAR_AREA_ARRAY.length)];

   // 随机生成城市编号
   String cityCode = CAR_LETTER_ARRAY[(int)(Math.random() * CAR_LETTER_ARRAY.length)];

   // 循环5次,生成车牌号
   StringBuilder sb = new StringBuilder();
   for(int i=0; i<CAR_NUM_LENGTH; i++) {
     sb.append(CAR_CHAR_ARRAY[(int)(Math.random()*CAR_CHAR_ARRAY.length)]);
   }

   // 拼接
    return area + cityCode + sb;
  }

  public static void main(String[] args) {
    String carNum = getCarNum();
    System.out.println(carNum);
  }
}

结果如下:

posted on 2022-07-14 18:12  高冷的恒哥  阅读(1404)  评论(0编辑  收藏  举报