黑马程序员技术交流社区

标题: 模拟生成车牌号的程序.程序运行.生成十个随机的车牌子.... [打印本页]

作者: 18001105207    时间: 2016-9-19 16:24
标题: 模拟生成车牌号的程序.程序运行.生成十个随机的车牌子....
package demo;

import java.util.ArrayList;
import java.util.Random;

//举例: 京C.85100 / 津K.45H88  
//*  要求:1.车牌子为京字或津字开头,后面字母为 C E F H J K中随机.
//*          2.号码为五位.数字和大写字母随机.(数字为0-9, 字母为A-G)
//*          3.定义生成号码的方法.返回车牌号字符串.
//*          4.循环调用10次生成号牌方法,生成5块津牌,5块京牌,并全部打印在控制台

public class Demo {

        public static void main(String[] args) {
                int a = 0;
                //定义集合 将0-9A-G添加到集合中
                ArrayList<String> list = new ArrayList<String>();
                for(int i=0;i<10;i++) {
                        list.add(i+"");
                }
                for(int i =0;i<7;i++) {
                        char c = 'A';
                        list.add(c+"");
                        c++;
                }
                //循环十次,调用十次方法生成十个车牌
                for(int i= 0;i<10;i++) {
                        String chePai = m(a,list);
                        System.out.println(chePai);
                }
        }

        public static String m(int a,ArrayList<String> list) {
                String str = "京";
                if(a%2 == 0) {
                        str = "津";
                }
                a++;
                Random r = new Random();
                char ch = (char) (r.nextInt(6)+67);
               
                String str1 ="";
                for(int i=0;i<5;i++) {
                        int index = r.nextInt(list.size());
                        String s = list.get(index);
                        str1 += s;
                }
               
                String chePai = str+ch+"."+str1;
                return chePai;
        }
}



作者: 键盘侠    时间: 2016-9-25 13:00
感谢分享
作者: 18001105207    时间: 2016-9-25 15:10
键盘侠 发表于 2016-9-25 13:00
感谢分享

这程序是有bug的,需要稍微思考一下,改一下
作者: a5433yzj    时间: 2016-9-25 15:54
老司机程序写的很好,万一遇到重复的咋办啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2