import java.text.SimpleDateFormat;
import java.util.*;
public class Zy2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
for(;;) {
System.out.println("请选择查询类型:\n1.查询车牌号今天是否限行\n2.查询车牌号在指定的日期是否限行\n3.按0返回");
int flag=in.nextInt();
if(flag==1) {
System.out.println("请输入您的车牌号:");
String a=in.next();
System.out.println(limit(a));
}else if(flag==2){
System.out.println("请输入要查询的天数:(格式为xxxx-xx-xx)");
String a=in.next();
System.out.println("请输入您的车牌号:");
String b=in.next();
System.out.println(limit(a,b));
}else if(flag==0) {
break;
}else {
System.out.println("操作异常重新操作");
}
}
in.close();
}
//判断输入的车牌号今天是否限行
public static String limit(String s) {
char[] a =s.toCharArray();
int flag =quflag(a);
Calendar T =Calendar.getInstance();
int x=T.get(T.DAY_OF_WEEK)-1,X=-1,Y=-1;//因其为美国时间的周日是1 所以-1X和Y分别是当天限制的标志
for(int i=1;i<=5;i++) { //System.out.println(x);//用于测试x接受到的是周几
if(x==i) { //因为本地的车牌号限制是周1尾号1和5 周二尾号2和6 所以这样写
X=i;Y=i+5;
}
}
if(Y==10) {
Y=0;
}
if(X==flag||Y==flag) {
return "今天是周"+x+" "+s+"限行";
}else {
return "今天是周"+x+" "+s+"不限行";
}
}
//输入时间和车牌号判断该车牌号是否在那天是限制天 用了方法重载 只改变参数列表不改变名字
public static String limit(String day , String num ){
char[] a =num.toCharArray();
int flag =quflag(a);
String[] c=day.split("[-]");
int y=Integer.parseInt(String.valueOf(c[0]))-1900,//因为初始会从1900开始 所以要减去1900
m=Integer.parseInt(String.valueOf(c[1]))-1,//因为月份-1
d=Integer.parseInt(String.valueOf(c[2]));
Calendar T =Calendar.getInstance();
Date O =new Date(y,m,d);
T.setTime(O);
int x=T.get(T.DAY_OF_WEEK)-1,X=-1,Y=-1;//X和Y分别是当天限制的标志
for(int i=1;i<=5;i++) {
if(x==i) {
X=i;Y=i+5;
}
}
if(Y==10) {
Y=0;
}
if(X==flag||Y==flag) {
return "今天是周"+x+" "+num+"限行";
}else {
return "今天是周"+x+" "+num+"不限行";
}
}
//输入数组返回一个int的flag标志内容
public static int quflag(char[] a) {
for(int i=a.length-1;i>=0;i--) {
if(a[i]<='9'&&a[i]>='0') {
return Integer.parseInt(String.valueOf(a[i]));
}
}
return -1;
}
}
java 车辆限行查询功能代码
最新推荐文章于 2023-03-26 20:04:42 发布