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開發規約》掃描插件

 

常規車牌號

六位車牌號   新能源車牌號

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章