车牌限行
周一 限行车牌尾号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 转 Calender
b = 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("今日所有车辆都不限行哦~");
}
}
}