java 车辆限行查询功能代码

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;
	}
}

测试一下

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值