java根据车牌号判断从周一到周五车牌号是否限行

该博客介绍了一个Java程序,用于根据车牌号和郑州市的限行规则判断车辆从周一到周五是否限行。车牌号由豫A开头,后面跟随字母和数字组合,尾号可能是数字或字母。限行规则基于尾号数字,如周一限行1和6,周二限行2和7,以此类推。程序会随机生成10万个郑州车牌号并检查它们的限行情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

车牌号是标识车辆身份的号牌,车牌号对车的意义就像身份证号对人一样。例如车牌是河南省郑州市的车子,豫代表河南省,A代表郑州市,豫A就是郑州市的车牌代码。
河南省(豫)
豫A郑州,
豫B开封,
豫C洛阳,
豫D平顶山,
豫E安阳,
豫F鹤壁,
豫G新乡,
豫H焦作,
豫J濮阳,
豫K许昌,
豫L漯河,
豫M三门峡,
豫N商丘,
豫P周口,
豫Q驻马店,
豫R南阳,
豫S信阳,
豫U济源市
之后字母和数字是按随机排列的 可能全是数字 但是不可能全是字母 最多3个字母
郑州2019限行新规: 根据车牌尾号的数字。
周一:1和6限行
周二:2和7限行
周三:3和8限行
周四:4和9限行
周五:5和0限行
请随机生成10W个郑州车牌号 根据以上规则的判断从周一到周五车牌号是否限行。
注意:可能车牌尾号最后一位可能不为数字
例如:
豫A Z1331 尾号数字为1 周一限行
豫A Z133S 尾号数字为3 周三限行 尾数为字母的,以末位数字为准

源代码:

package com.oracle.clz;

import java.util.Iterator;
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;

public class CharStudy
{
     private  Set<String> set=new TreeSet<String>();  //  自动去重
	
	public static void main(String[] args)
	{
		new CharStudy().generatorID();
	}
	
	public int getnum(String idnum)
	{
		
		char num =' ';
		char[] charArray = idnum.toCharArray();
		for(int i=charArray.length-1;i>=1;i--)
		{
			
			if(Character.isDigit(charArray[i]))
			{
				num=charArray[i];
				break;
			}
		}
		return Character.getNumericValue(num);
	}
	
	
	
	public void  generatorID()
	{
		String ss="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		char[] nums=ss.toCharArray();
		Random random=new Random();		
		String id="豫A";
		while(set.size()<=8000)
		{
			String s="";
			for(int j=0;j<5;j++)
			{
				char c = nums[random.nextInt(nums.length)];
				s+=c;
			   //这个车牌号已经生成出来了
				
			}
			//判断生成的车牌是否符合规定
		    char[]c=s.toCharArray();
			int count=0;
		    for(int k=0;k<c.length;k++)
			{
				if(Character.isUpperCase(c[k]))
				{
					count++;
				}
			}

		    if(count>3)
		    {
		    	//System.out.println("车牌号不符合规定");
		    }
		    else
		    {
		    	//自动去重  
		    	set.add(id+s);	    	
		    }
		   
		}
		
		Iterator<String> iterator = set.iterator();
		while(iterator.hasNext())
		{
		   String idnum=iterator.next();
		   int end=getnum(idnum);
		   switch(end)
		   {
		   case 1:
		   case 6:
			   System.out.println(idnum+"周一限行....");
			   break;
		   case 2:
		   case 7:
			   System.out.println(idnum+"周二限行....");
			   break;
		   case 3:
		   case 8:
			   System.out.println(idnum+"周三限行....");
			   break;
		   case 4:
		   case 9:
			   System.out.println(idnum+"周四限行....");
			   break;
		   case 5:
		   case 0:
			   System.out.println(idnum+"周五限行....");
			   break;
			   
		   }	   
		  
		   
		   
		}
		
	}
	
	
	
	
}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值