Java练习 车牌限行及指定日期判定限行
车牌限行
周一 限行车牌尾号1 6周二 限行车牌尾号2 7周三 限行车牌尾号3 8周四 限行车牌尾号4 9周五 限行车牌尾号5 0周六 周日不限行
如果车牌最后一位不是数字,取倒数第二个…即 取最后一个数字进行。
例如 :
- 今天是 周五 豫A 12345 限行
- 今天是 周五 豫A 1234A 不限行
- 今天是 周五 豫A 1230A 限行
程序都要以键盘输入的形式输入时间和车牌;
设计方法1:以当前时间进行时间的限行。
设计方法2:判断指定时间 指定车牌是否限行。
package com.zy.Zy;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;public class TestLimit {public static void main(String[] args) throws ParseException {//全国统一车牌号五位数--->7个字符Scanner scan = new Scanner(System.in);System.out.println("请输入您的车牌号:");String str = scan.next();//车牌号尾号可能是数字但也可能是字母,所以先对字符串进行过滤确保得到尾号数字if(str.length()==7){String str1 = str.replaceAll("[a-zA-Z]","");//用正则表达式滤过车牌号中的所有字母char i = str1.charAt(str1.length()-1);//获取过滤后字符串的末位字符Calendar a = Calendar.getInstance();//获取今天是周几(Calendar从周日开始计算,周日是1,周一是2,所有需要减一)int b = a.get(Calendar.DAY_OF_WEEK)-1;a(i, b);//调用方法a(限号没有特殊规律的情况)b(i, b);//也可以调用方法b(周几,尾号几和(尾号+5)%10限号)c(scan, i, a);//按照指定日期查询是否限号}else{System.out.println("车牌号为7位字符!请确定您输入的车牌号符合规范!");}}private static void c(Scanner scan, char i, Calendar a) throws ParseException {int b;System.out.println("请输入你想要查询是否限号的日期:");String str2 = scan.next();String pattern = "yyyy-MM-dd";SimpleDateFormat d = new SimpleDateFormat(pattern);Date d1 = d.parse(str2);//格式转换a.setTime(d1);//Date 转 Calenderb = a.get(Calendar.DAY_OF_WEEK)-1; b(i, b);}//限号可以找到一定的规律private static void b(char i, int b) {int j = (int)i-48;//i是Char类型的强转成int返回的是ASCLL码,0-->48 if(b==0||b==6){System.out.println("今日您的车牌号不限行~");}else if(b==j||b==(j+5)%10){System.out.println("今日限行"); }}//限号没有特殊规律的情况private static void a(char i, int b) {switch(b){case 1:if(i=='1'||i=='6'){System.out.println("今日限行");}break;case 2:if(i=='2'||i=='7'){System.out.println("今日限行");}break;case 3:if(i=='3'||i=='8'){System.out.println("今日限行");}break;case 4:if(i=='4'||i=='9'){System.out.println("今日限行");}break;case 5:if(i=='5'||i=='0'){System.out.println("今日限行");}break;default:System.out.println("今日所有车辆都不限行哦~");}}
}
Java练习 车牌限行及指定日期判定限行相关推荐
- java按季还款_Java 获取指定日期范围内的每个月,每季度,每一年
/** *根据时间范围获得月份集 * @return */ public static List getRangeSet(String beginDate,String endDate){ /* ...
- java 判断是否夏令时_确定指定日期的Java夏令时(DST)是否处于活动状态
我有一个Java类,它占用一个位置的纬度/经度,并在夏时制开启和关闭时返回GMT偏移量.我正在寻找一个简单的方法来确定Java如果当前日期是在夏令时间,所以我可以应用正确的偏移量.目前,我只对美国时区 ...
- pandas使用query函数查询指定日期索引对应的dataframe数据行(select rows using a single date in dataframe)
pandas使用query函数查询指定日期索引对应的dataframe数据行(select rows using a single date in dataframe) 目录 pandas使用qu
- pandas使用query函数查询指定日期索引之间对应的dataframe数据行(select rows date index between a certain date interval)
pandas使用query函数查询指定日期索引之间对应的dataframe数据行(select rows where date index between a certain date interva ...
- java创建指定日期_如何创建指定的日期和时间
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...
- java mongo 日期范围_获取指定日期和它之前几天,之间的所有日期?千万不要踩了这个大坑!...
今天在开会谈需求的时候,遇到了这么一个需求:要求动态的获得当前日期往前推30天,这之间所有天数的数据之和. 首先会想到的,肯定是Java里处理日期的几个类,常用的有三个:Date,SimpleDate ...
- java 获取指定日期的前几天或后几天
/*java获取指定日期的前几天或后几天@param datestr指定日期* @param format 日期格式* * @param flag true为获取后几天, false:为获取前几天* ...
- java计算指定日期的上个月
文章目录 java计算指定日期的上个月 Calendar类 API 代码实现 java计算指定日期的上个月 Calendar类 Calendar类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方 ...
- java指定日期计算一年内第几天和给出一年内第几天算出指定日期
java指定日期计算一年内第几天和给出一年内第几天算出指定日期 1.计算一年内第几天,部分参考的是https://blog.csdn.net/xinpengfei521/article/details ...
最新文章
- C++ Double Ended Queues(双向队列)
- ORM 关系对象映射 基础知识点
- SharePoint 如何检查一个SPWeb是否存在
- 文件分割器,一个读取流,相应多个输出流,并且生成的碎片文件都有有序的编号...
- 模拟电路技术之基础知识(十)
- 【Ajax Servlet JSP MySQL】Ajax实现省份地区选择:三级联动
- jquery选择器案例分享
- 想赚钱广而告之是必不可少的
- softmax分类(多项逻辑回归)的Pyhon实现及其与SVM的比较
- Oracle备份数据库
- java中BorderLayout的使用方法
- HashMap的实现原理、JDK1.7和JDK1.8的对比以及死锁问题
- fso 拒绝访问_CTBS问题及解决.docx
- 海量数据处理之Tire树(字典树)
- dismiss和remove_关于dismiss的用法,dismiss和fire的区别?
- MySQL open_tables和opened_tables
- Libra最后的命运
- 利用excel与Pandas完成实现数据透视表(文末赠书)
- serverlet学习
- CityMaker学习教程08 一个示例,创建漫游路径