java实现随机生成五位 或 六位/新能源车牌号

需求说明:利用java随机生成五位或六位车牌号,当车牌只有五位,在最后一位补 * 

格式  →  eg:五位车牌:  川A · [ A,3,D,5,F] *

                       六位车牌: 川A · [ A,3,D,5,F,Q] 

以下几种方法依次由繁到简,不同思考方式时,代码不一样,故过程的优先级远不于结果,但是我们应当逐渐将我们的代码,优化成最优代码,养成良好的代码规范,风格。


方法一:


package com.epoch.ccpayment.utils;

import java.util.Arrays;
import java.util.Random;

/**
 * 随机生成车牌号
 * 6位或5位(5位第六位用*代替)
 */
public class RandmoCreatString {

    public static void main(String[] args) {

        Random random = new Random();
        // 车牌号开头
        String[] carNumberHeadList = {
                "京A", "京C", "京E", "京F", "京H", "京G", "京B", "津A", "津B", "津C", "津E",
                "沪A", "沪B", "沪D", "沪C", "渝A", "渝B", "渝C", "渝G", "渝H", "冀A",
                "冀B", "冀C", "冀D", "冀E", "冀F", "冀G", "冀H", "冀J", "冀R", "冀T",
                "豫A", "豫B", "豫C", "豫D", "豫E", "豫F", "豫G", "豫H", "豫J", "豫K", "豫L",
                "豫M", "豫N", "豫P", "豫Q", "豫R", "豫S", "豫U", "云A", "云C", "云D", "云E", "云F",
                "云G", "云H", "云J", "云K", "云L", "云M", "云N", "云P", "云Q", "云R ", "云S",
                "辽A", "辽B", "辽C", "辽D", "辽E", "辽F", "辽G", "辽H", "辽J", "辽K", "辽L", "辽M",
                "辽N", "辽P", "辽V", "黑A", "黑B", "黑C", "黑D", "黑E", "黑F", "黑G", "黑H", "黑J", "黑K",
                "黑L", "黑M", "黑N", "黑P", "黑R", "湘A", "湘B", "湘C", "湘D", "湘E", "湘F", "湘G", "湘H", "湘J",
                "湘K", "湘L", "湘M", "湘N", "湘U", "湘S", "皖A", "皖B", "皖C", "皖D", "皖E", "皖F", "皖G", "皖H", "皖J",
                "皖K", "皖L", "皖M", "皖N", "皖P", "皖Q", "皖R", "皖S", "鲁A", "鲁B", "鲁C", "鲁D", "鲁E", "鲁F", "鲁G",
                "鲁H", "鲁J", "鲁K", "鲁L", "鲁M", "鲁N", "鲁P", "鲁Q", "鲁R", "鲁S", "鲁U", "鲁V", "鲁Y", "新A", "新B", "新C",
                "新D", "新E", "新F", "新G", "新H", "新J", "新K", "新L", "新M", "新N", "新P", "新Q", "新R", "苏A", "苏B", "苏C",
                "苏D", "苏E", "苏F", "苏G", "苏H", "苏J", "苏K", "苏L", "苏M", "苏N", "浙A", "浙B", "浙C", "浙D", "浙E", "浙F",
                "浙G", "浙H", "浙J", "浙K ", "浙L", "赣A", "赣B", "赣C", "赣D", "赣E", "赣F", "赣G", "赣H", "赣J", "赣K", "赣L", "赣M", "鄂A",
                "鄂B", "鄂C", "鄂D", "鄂E", "鄂F", "鄂G", "鄂H", "鄂J", "鄂K", "鄂L", "鄂M", "鄂N", "鄂P", "鄂Q", "鄂R", "鄂S", "桂A", "桂B",
                "桂C", "桂D", "桂E", "桂F", "桂G", "桂H", "桂J", "桂K", "桂L", "桂M", "桂N", "桂P", "桂R", "甘A", "甘B", "甘C", "甘D", "甘E",
                "甘F", "甘G", "甘H", "甘J", "甘K", "甘L", "甘M", "甘N", "甘P", "晋A", "晋B", "晋C", "晋D", "晋E", "晋F", "晋H", "晋J", "晋K",
                "晋L", "晋M", "蒙A", "蒙B", "蒙C", "蒙D", "蒙E", "蒙F", "蒙G", "蒙H", "蒙J", "蒙K", "蒙L", "蒙M", "陕A", "陕B", "陕C", "陕D", "陕E",
                "陕F", "陕G", "陕H", "陕J", "陕K", "陕U", "陕V", "吉A", "吉B", "吉C", "吉D", "吉E", "吉F", "吉G", "吉H", "吉J", "闽A", "闽B", "闽C",
                "闽D", "闽E", "闽F", "闽G", "闽H", "闽J", "闽K", "贵A", "贵B", "贵C", "贵D", "贵E", "贵F", "贵G", "贵H", "贵J", "粤A", "粤B", "粤C",
                "粤D", "粤E", "粤F", "粤G", "粤H", "粤J", "粤K", "粤L", "粤M", "粤N", "粤P", "粤Q", "粤R", "粤S", "粤T", "粤U", "粤V", "粤W", "粤X", "粤Y",
                "粤Z", "青A", "青B", "青C", "青D", "青E", "青F", "青G", "青H", "藏A", "藏B", "藏C", "藏D", "藏E", "藏F", "藏G", "藏H", "藏J", "川A", "川B",
                "川C", "川D", "川E", "川F", "川H", "川J", "川K", "川L", "川M", "川Q", "川R", "川S", "川T", "川U", "川V", "川W", "川X", "川Y", "川Z", "宁A",
                "宁B", "宁C", "宁D", "琼A", "琼B", "琼C", "琼D", "琼E"
        };
        //从车牌开头列表carNumberHeadList中随机获取一个字符串,并保存在head中
        String head = carNumberHeadList[random.nextInt(carNumberHeadList.length)]+"·";

        //定义一个由【26字母+10数字】组成的 车牌号数组 carLicenseArray
        String[] carLicenseArray = {
                "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P",
                "A", "S", "D", "F", "G", "H", "J", "K", "L",
                "Z", "X", "C", "V", "B", "N", "M",
                "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
        };

        int a = 0;
        //随机生成5位或6位的车牌号数组  elementArray
        switch ((int) random.nextInt(2)) {
            case 0:
                a = 5;
                break;
            case 1:
                a = 6;
        }

        String[] elementArray = new String[0];
        String[] carNumber = new String[0];

        elementArray = new String[a];
        for (int i = 0; i < a; i++) {

            int index = random.nextInt(carLicenseArray.length - i);
            elementArray[i] = carLicenseArray[index];

            // 元素向前推进到随机[index]的位置
            for (int j = index; j < carLicenseArray.length - i - 1; j++) {
                carLicenseArray[j] = carLicenseArray[j + 1];
            }
        }

        carNumber = new String[elementArray.length];
        for (int i = 0; i < carNumber.length; i++) {
            carNumber[i] = elementArray[i];
        }

        StringBuffer car = new StringBuffer(head);
        StringBuffer carss = new StringBuffer(Arrays.toString(carNumber));
        if (elementArray.length == 5) {
            System.out.println(car.append(carss).append("*"));
            return;
        }
        System.out.println(car.append(carss));
    }
}

方法二:


package com.epoch.ccpayment.utils;

import java.util.Arrays;
import java.util.Random;

public class RandomCarLicense {
    public static void main(String[] args) {

        Random random = new Random();

        // 车牌号开头列表
        String[] carNumberHeadList = {
                "京A", "京C", "京E", "京F", "京H", "京G", "京B", "津A", "津B", "津C", "津E",
                "沪A", "沪B", "沪D", "沪C", "渝A", "渝B", "渝C", "渝G", "渝H", "冀A",
                "冀B", "冀C", "冀D", "冀E", "冀F", "冀G", "冀H", "冀J", "冀R", "冀T",
                "豫A", "豫B", "豫C", "豫D", "豫E", "豫F", "豫G", "豫H", "豫J", "豫K", "豫L",
                "豫M", "豫N", "豫P", "豫Q", "豫R", "豫S", "豫U", "云A", "云C", "云D", "云E", "云F",
                "云G", "云H", "云J", "云K", "云L", "云M", "云N", "云P", "云Q", "云R ", "云S",
                "辽A", "辽B", "辽C", "辽D", "辽E", "辽F", "辽G", "辽H", "辽J", "辽K", "辽L", "辽M",
                "辽N", "辽P", "辽V", "黑A", "黑B", "黑C", "黑D", "黑E", "黑F", "黑G", "黑H", "黑J", "黑K",
                "黑L", "黑M", "黑N", "黑P", "黑R", "湘A", "湘B", "湘C", "湘D", "湘E", "湘F", "湘G", "湘H", "湘J",
                "湘K", "湘L", "湘M", "湘N", "湘U", "湘S", "皖A", "皖B", "皖C", "皖D", "皖E", "皖F", "皖G", "皖H", "皖J",
                "皖K", "皖L", "皖M", "皖N", "皖P", "皖Q", "皖R", "皖S", "鲁A", "鲁B", "鲁C", "鲁D", "鲁E", "鲁F", "鲁G",
                "鲁H", "鲁J", "鲁K", "鲁L", "鲁M", "鲁N", "鲁P", "鲁Q", "鲁R", "鲁S", "鲁U", "鲁V", "鲁Y", "新A", "新B", "新C",
                "新D", "新E", "新F", "新G", "新H", "新J", "新K", "新L", "新M", "新N", "新P", "新Q", "新R", "苏A", "苏B", "苏C",
                "苏D", "苏E", "苏F", "苏G", "苏H", "苏J", "苏K", "苏L", "苏M", "苏N", "浙A", "浙B", "浙C", "浙D", "浙E", "浙F",
                "浙G", "浙H", "浙J", "浙K ", "浙L", "赣A", "赣B", "赣C", "赣D", "赣E", "赣F", "赣G", "赣H", "赣J", "赣K", "赣L", "赣M", "鄂A",
                "鄂B", "鄂C", "鄂D", "鄂E", "鄂F", "鄂G", "鄂H", "鄂J", "鄂K", "鄂L", "鄂M", "鄂N", "鄂P", "鄂Q", "鄂R", "鄂S", "桂A", "桂B",
                "桂C", "桂D", "桂E", "桂F", "桂G", "桂H", "桂J", "桂K", "桂L", "桂M", "桂N", "桂P", "桂R", "甘A", "甘B", "甘C", "甘D", "甘E",
                "甘F", "甘G", "甘H", "甘J", "甘K", "甘L", "甘M", "甘N", "甘P", "晋A", "晋B", "晋C", "晋D", "晋E", "晋F", "晋H", "晋J", "晋K",
                "晋L", "晋M", "蒙A", "蒙B", "蒙C", "蒙D", "蒙E", "蒙F", "蒙G", "蒙H", "蒙J", "蒙K", "蒙L", "蒙M", "陕A", "陕B", "陕C", "陕D", "陕E",
                "陕F", "陕G", "陕H", "陕J", "陕K", "陕U", "陕V", "吉A", "吉B", "吉C", "吉D", "吉E", "吉F", "吉G", "吉H", "吉J", "闽A", "闽B", "闽C",
                "闽D", "闽E", "闽F", "闽G", "闽H", "闽J", "闽K", "贵A", "贵B", "贵C", "贵D", "贵E", "贵F", "贵G", "贵H", "贵J", "粤A", "粤B", "粤C",
                "粤D", "粤E", "粤F", "粤G", "粤H", "粤J", "粤K", "粤L", "粤M", "粤N", "粤P", "粤Q", "粤R", "粤S", "粤T", "粤U", "粤V", "粤W", "粤X", "粤Y",
                "粤Z", "青A", "青B", "青C", "青D", "青E", "青F", "青G", "青H", "藏A", "藏B", "藏C", "藏D", "藏E", "藏F", "藏G", "藏H", "藏J", "川A", "川B",
                "川C", "川D", "川E", "川F", "川H", "川J", "川K", "川L", "川M", "川Q", "川R", "川S", "川T", "川U", "川V", "川W", "川X", "川Y", "川Z", "宁A",
                "宁B", "宁C", "宁D", "琼A", "琼B", "琼C", "琼D", "琼E"
        };

        //从车牌开头列表carNumberHeadList中随机获取一个字符串,并保存在head中
        String head = carNumberHeadList[random.nextInt(carNumberHeadList.length)]+"·";
//        System.out.println(head);

        //定义一个由【26字母+10数字】组成的 车牌号数组 carLicenseArray
        String[] carLicenseArray = {
                "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P",
                "A", "S", "D", "F", "G", "H", "J", "K", "L",
                "Z", "X", "C", "V", "B", "N", "M",
                "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
        };

        //从车牌号中随机选5个或6个元素
        int length = 0;
        switch (random.nextInt(2)) {
            case 0:
                length = 5;
                break;
            case 1:
                length = 6;
        }

        //创建一个长度为length的车牌号数组 carNumberArray
        String[] carNumberArray = new String[length];

        //给carNumberArray数组 赋值
        for (int i = 0; i < length; i++) {
            carNumberArray[i] = carLicenseArray[random.nextInt(carLicenseArray.length)];
        }

        //将字符串数组转换成字符串
        String carNumber = Arrays.toString(carNumberArray);

        //车牌号开头拼接  + 随机5位或6位车牌号
        StringBuffer randomCarLicense = new StringBuffer(head);
        if (carNumberArray.length == 5) {
            System.out.println(randomCarLicense.append(carNumber).append("*"));
            return;
        }
        System.out.println(randomCarLicense.append(carNumber));

    }
}

方法三:


package com.epoch.createcarnumber.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Random;

public class RandomCarLicenseController {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    // 车牌号开头列表
    public static final String[] carNumberHeadList = {
            "京A", "京C", "京E", "京F", "京H", "京G", "京B", "津A", "津B", "津C", "津E",
            "沪A", "沪B", "沪D", "沪C", "渝A", "渝B", "渝C", "渝G", "渝H", "冀A",
            "冀B", "冀C", "冀D", "冀E", "冀F", "冀G", "冀H", "冀J", "冀R", "冀T",
            "豫A", "豫B", "豫C", "豫D", "豫E", "豫F", "豫G", "豫H", "豫J", "豫K", "豫L",
            "豫M", "豫N", "豫P", "豫Q", "豫R", "豫S", "豫U", "云A", "云C", "云D", "云E", "云F",
            "云G", "云H", "云J", "云K", "云L", "云M", "云N", "云P", "云Q", "云R ", "云S",
            "辽A", "辽B", "辽C", "辽D", "辽E", "辽F", "辽G", "辽H", "辽J", "辽K", "辽L", "辽M",
            "辽N", "辽P", "辽V", "黑A", "黑B", "黑C", "黑D", "黑E", "黑F", "黑G", "黑H", "黑J", "黑K",
            "黑L", "黑M", "黑N", "黑P", "黑R", "湘A", "湘B", "湘C", "湘D", "湘E", "湘F", "湘G", "湘H", "湘J",
            "湘K", "湘L", "湘M", "湘N", "湘U", "湘S", "皖A", "皖B", "皖C", "皖D", "皖E", "皖F", "皖G", "皖H", "皖J",
            "皖K", "皖L", "皖M", "皖N", "皖P", "皖Q", "皖R", "皖S", "鲁A", "鲁B", "鲁C", "鲁D", "鲁E", "鲁F", "鲁G",
            "鲁H", "鲁J", "鲁K", "鲁L", "鲁M", "鲁N", "鲁P", "鲁Q", "鲁R", "鲁S", "鲁U", "鲁V", "鲁Y", "新A", "新B", "新C",
            "新D", "新E", "新F", "新G", "新H", "新J", "新K", "新L", "新M", "新N", "新P", "新Q", "新R", "苏A", "苏B", "苏C",
            "苏D", "苏E", "苏F", "苏G", "苏H", "苏J", "苏K", "苏L", "苏M", "苏N", "浙A", "浙B", "浙C", "浙D", "浙E", "浙F",
            "浙G", "浙H", "浙J", "浙K ", "浙L", "赣A", "赣B", "赣C", "赣D", "赣E", "赣F", "赣G", "赣H", "赣J", "赣K", "赣L", "赣M", "鄂A",
            "鄂B", "鄂C", "鄂D", "鄂E", "鄂F", "鄂G", "鄂H", "鄂J", "鄂K", "鄂L", "鄂M", "鄂N", "鄂P", "鄂Q", "鄂R", "鄂S", "桂A", "桂B",
            "桂C", "桂D", "桂E", "桂F", "桂G", "桂H", "桂J", "桂K", "桂L", "桂M", "桂N", "桂P", "桂R", "甘A", "甘B", "甘C", "甘D", "甘E",
            "甘F", "甘G", "甘H", "甘J", "甘K", "甘L", "甘M", "甘N", "甘P", "晋A", "晋B", "晋C", "晋D", "晋E", "晋F", "晋H", "晋J", "晋K",
            "晋L", "晋M", "蒙A", "蒙B", "蒙C", "蒙D", "蒙E", "蒙F", "蒙G", "蒙H", "蒙J", "蒙K", "蒙L", "蒙M", "陕A", "陕B", "陕C", "陕D", "陕E",
            "陕F", "陕G", "陕H", "陕J", "陕K", "陕U", "陕V", "吉A", "吉B", "吉C", "吉D", "吉E", "吉F", "吉G", "吉H", "吉J", "闽A", "闽B", "闽C",
            "闽D", "闽E", "闽F", "闽G", "闽H", "闽J", "闽K", "贵A", "贵B", "贵C", "贵D", "贵E", "贵F", "贵G", "贵H", "贵J", "粤A", "粤B", "粤C",
            "粤D", "粤E", "粤F", "粤G", "粤H", "粤J", "粤K", "粤L", "粤M", "粤N", "粤P", "粤Q", "粤R", "粤S", "粤T", "粤U", "粤V", "粤W", "粤X", "粤Y",
            "粤Z", "青A", "青B", "青C", "青D", "青E", "青F", "青G", "青H", "藏A", "藏B", "藏C", "藏D", "藏E", "藏F", "藏G", "藏H", "藏J", "川A", "川B",
            "川C", "川D", "川E", "川F", "川H", "川J", "川K", "川L", "川M", "川Q", "川R", "川S", "川T", "川U", "川V", "川W", "川X", "川Y", "川Z", "宁A",
            "宁B", "宁C", "宁D", "琼A", "琼B", "琼C", "琼D", "琼E"
    };

    //车牌号字母数组
    public static final String[] carLicenseArray = {
            "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P",
            "A", "S", "D", "F", "G", "H", "J", "K", "L",
            "Z", "X", "C", "V", "B", "N", "M",
            "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "*"
    };

    public static String getCarLicenseBegin() {

        Random random = new Random();
        //随机产生一个车牌号头部分的字符串
        String head = carNumberHeadList[random.nextInt(carNumberHeadList.length)];
        //定义一个6位数的车牌数组
        String[] carlicense = new String[6];
        String carlicenseStr = head + "·";

        //遍历数组,并赋值
        for (int i = 0; carlicense.length > i; i++) {
            //随机获取数组长度作为索引
            int index = random.nextInt(carLicenseArray.length);
            //判断长度是否是6位且最后一位为*
            if (carLicenseArray[index].equals("*") && i == 6) {
                carlicense[i] = "*";
            }
            else {
                carlicense[i] = carLicenseArray[index];
            }
            carlicenseStr += carlicense[i];
        }
        System.out.println(carlicenseStr);
        return carlicenseStr;

    }

    public static void main(String[] args) {
        getCarLicenseBegin();
    }

}

方法三  按照 ---- 阿里巴巴代码规范 ---- 后

              如下:


package com.epoch.createcarnumber.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RestController;

import java.util.Random;

/**
 * @author ljj
 */
@RestController
public class RandomCarLicenseController {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    /**
     * 车牌号开头列表
     */

    private static final String[] CARNUMBERHEADLIST = {
            "京A", "京C", "京E", "京F", "京H", "京G", "京B", "津A", "津B", "津C", "津E",
            "沪A", "沪B", "沪D", "沪C", "渝A", "渝B", "渝C", "渝G", "渝H", "冀A",
            "冀B", "冀C", "冀D", "冀E", "冀F", "冀G", "冀H", "冀J", "冀R", "冀T",
            "豫A", "豫B", "豫C", "豫D", "豫E", "豫F", "豫G", "豫H", "豫J", "豫K", "豫L",
            "豫M", "豫N", "豫P", "豫Q", "豫R", "豫S", "豫U", "云A", "云C", "云D", "云E", "云F",
            "云G", "云H", "云J", "云K", "云L", "云M", "云N", "云P", "云Q", "云R ", "云S",
            "辽A", "辽B", "辽C", "辽D", "辽E", "辽F", "辽G", "辽H", "辽J", "辽K", "辽L", "辽M",
            "辽N", "辽P", "辽V", "黑A", "黑B", "黑C", "黑D", "黑E", "黑F", "黑G", "黑H", "黑J", "黑K",
            "黑L", "黑M", "黑N", "黑P", "黑R", "湘A", "湘B", "湘C", "湘D", "湘E", "湘F", "湘G", "湘H", "湘J",
            "湘K", "湘L", "湘M", "湘N", "湘U", "湘S", "皖A", "皖B", "皖C", "皖D", "皖E", "皖F", "皖G", "皖H", "皖J",
            "皖K", "皖L", "皖M", "皖N", "皖P", "皖Q", "皖R", "皖S", "鲁A", "鲁B", "鲁C", "鲁D", "鲁E", "鲁F", "鲁G",
            "鲁H", "鲁J", "鲁K", "鲁L", "鲁M", "鲁N", "鲁P", "鲁Q", "鲁R", "鲁S", "鲁U", "鲁V", "鲁Y", "新A", "新B", "新C",
            "新D", "新E", "新F", "新G", "新H", "新J", "新K", "新L", "新M", "新N", "新P", "新Q", "新R", "苏A", "苏B", "苏C",
            "苏D", "苏E", "苏F", "苏G", "苏H", "苏J", "苏K", "苏L", "苏M", "苏N", "浙A", "浙B", "浙C", "浙D", "浙E", "浙F",
            "浙G", "浙H", "浙J", "浙K ", "浙L", "赣A", "赣B", "赣C", "赣D", "赣E", "赣F", "赣G", "赣H", "赣J", "赣K", "赣L", "赣M", "鄂A",
            "鄂B", "鄂C", "鄂D", "鄂E", "鄂F", "鄂G", "鄂H", "鄂J", "鄂K", "鄂L", "鄂M", "鄂N", "鄂P", "鄂Q", "鄂R", "鄂S", "桂A", "桂B",
            "桂C", "桂D", "桂E", "桂F", "桂G", "桂H", "桂J", "桂K", "桂L", "桂M", "桂N", "桂P", "桂R", "甘A", "甘B", "甘C", "甘D", "甘E",
            "甘F", "甘G", "甘H", "甘J", "甘K", "甘L", "甘M", "甘N", "甘P", "晋A", "晋B", "晋C", "晋D", "晋E", "晋F", "晋H", "晋J", "晋K",
            "晋L", "晋M", "蒙A", "蒙B", "蒙C", "蒙D", "蒙E", "蒙F", "蒙G", "蒙H", "蒙J", "蒙K", "蒙L", "蒙M", "陕A", "陕B", "陕C", "陕D", "陕E",
            "陕F", "陕G", "陕H", "陕J", "陕K", "陕U", "陕V", "吉A", "吉B", "吉C", "吉D", "吉E", "吉F", "吉G", "吉H", "吉J", "闽A", "闽B", "闽C",
            "闽D", "闽E", "闽F", "闽G", "闽H", "闽J", "闽K", "贵A", "贵B", "贵C", "贵D", "贵E", "贵F", "贵G", "贵H", "贵J", "粤A", "粤B", "粤C",
            "粤D", "粤E", "粤F", "粤G", "粤H", "粤J", "粤K", "粤L", "粤M", "粤N", "粤P", "粤Q", "粤R", "粤S", "粤T", "粤U", "粤V", "粤W", "粤X", "粤Y",
            "粤Z", "青A", "青B", "青C", "青D", "青E", "青F", "青G", "青H", "藏A", "藏B", "藏C", "藏D", "藏E", "藏F", "藏G", "藏H", "藏J", "川A", "川B",
            "川C", "川D", "川E", "川F", "川H", "川J", "川K", "川L", "川M", "川Q", "川R", "川S", "川T", "川U", "川V", "川W", "川X", "川Y", "川Z", "宁A",
            "宁B", "宁C", "宁D", "琼A", "琼B", "琼C", "琼D", "琼E"
    };

    /**
     * 车牌号字母数组
     */
    private static final String[] CARLICENSEARRAY = {
            "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P",
            "A", "S", "D", "F", "G", "H", "J", "K", "L",
            "Z", "X", "C", "V", "B", "N", "M",
            "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "*"
    };

    public static StringBuffer getCarLicenseBegin() {

        Random random = new Random();
        //随机产生一个车牌号头部分的字符串
        String head = CARNUMBERHEADLIST[random.nextInt(CARNUMBERHEADLIST.length)] + "·";
        //定义一个6位数的车牌数组
        String[] carlicense = new String[6];
        StringBuffer carlicenseStr = new StringBuffer(head);

        //遍历数组,并赋值
        for (int i = 0; carlicense.length > i; i++) {
            //计算要从车牌号字母数组中随机筛选出字符的个数index
            int index = random.nextInt(CARLICENSEARRAY.length);
            if ("*".equals(CARLICENSEARRAY[index]) && i == 6) {
                carlicense[i] = "*";
            }
            else {
                carlicense[i] = CARLICENSEARRAY[index];
            }
            carlicenseStr = carlicenseStr.append(carlicense[i]);
        }
        return carlicenseStr;

    }

前提是已安装插件 =====> Alibaba Java Coding Guidelines 

                                          即 《阿里巴巴Java开发规约》扫描插件

 

常规车牌号

六位车牌号   新能源车牌号

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
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`类生成随机数来选择对应位置的字符,最后将它们组合成完整的车牌号。运行代码后,会输出一个随机生成车牌号
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晓峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值