Java 车辆限行

题目描述:
输入一个或多个车牌号码,多个以逗号分割开,再输入想查询的日期(数字,周几),输出该日期限行的车牌号

车牌号码有以下要求,只要取后五位,如:AD123,12101,车牌号不可能全是字母。

 *现在对尾号进行限制:尾号为1,9则周一限行,尾号为2,8则周二限行,尾号为3,7则周三限行 尾号为4,6则周四限行,尾号为5,0的周五限行,周六周日不限行。

 *尾号不为数字,则看第4位是否是数字,如果第4位还不是 数字,继续看第3位,以此下去,直到找到有数字的时候止.

 *由于用户不熟悉系统,有可能输入错误车牌,如车牌不满5位或大于5位、车牌全是字母、没用逗号分割等,如有输入错误情况 一律返回error

 *如输入没有问题则返回限行的车牌号,如没有,刚返回none
输入描述:
一个或多个车牌号码

周几
输出描述:
限行的车牌号,如没有限行的则返回none
例1:
输入:
Y008U,T8899
2
输出:
Y008U
例2:
输入:
8F20E,7W552,86NS4,446LQ,Y2822,28KA5,F8B4M,6DGB8,X2KMM,9E960,BKU72,YTZ08,5J2IF,KEU95,P32KM,V7IBI,M7R76,TY7H4,1GEP9,WM2BH,0U5G0,9LS92,W8D9U,47EB2,7721V,ZYP1B,E2AQI,H33R9,0S8T3,4EKD5,4N266,6G52X,GD3X8,T0461,4410Q,2ZB9T,8NDIQ,IH3I3,Y8ON0,Q7ETZ,6T7Y9,8F2T7,V272C,7QA10,8L3W4,PC8DI,3YPZV,GO921,VD762,76068,L2G97,89T22,N9589,JC148,532XY,7536V,GU3Z2,O2D22,60TZ8,5BJ60,D62XF,RW369,57215,YFI0J,8X0X5,9725J,486S2,MCUS6,74CO2,836YG,4XM91,P2QMW,86982,7K03C,HZA9S,IU191,5PZX6,F26DQ,9Z1M3,47O03,CSR98,I0MH2,BR4T3,LCW5R,3LR90,9VH6R,IK332,KW4OL,30SHY,2N39L,ORCK0,Z1S31,807EC,J6FMR,NF787,WUWPT,1E60G,QFVPE,PUP2C,PW4KL,0U7YV,UU698,951QE,8L7NH,5D3N9,MDZZ7,NA1V2,376X5,MN1K6,1A2OR,M9LUT,3ZAID,LW7UL,M3FB7,1P2J9,G0B0F,O1YP3,8P2N3,843R9,JBSD2,BQ434,3L897,7R3D3,T75U9,5N9Y2,0662M,A69P1,E4I8W,HM06R,WW67X,0C34C,1Y5UU,Q9046,MVD0M,4E5WH,H9X6W,765B1,J841O,J81RS,1WWMC,5P5V4,X2BWX,J475M,6VFN4,86822,873V4,4DU4W,6ZCU0,CT8NK,V49AC,P14TP,0O67T,6IWTV,RGMGS,06K28,J3GBK,4SN17,S67P8,8ZA2Q,05SLJ,B5I4X,H7WSB,ACY8I,98859,L5599,Z8103,Q3D6Y,TO25H,775FO,9WB95,67555,4030T,A2K42,3DN43,TY9G2,VCZ76,Y33DX,RSRE5,YMO71,1PWG6,KPT19,MQP2K,8F0H7,58Z3M,D0Q8D,9LT5X,9L6L5,A9BU2,E1KLK,4KHP3,AJ5A5,4ZS6I,C42VF,T9532,0SI7D,54E3X,943I4,L2185,51Y3K,8B9HQ,S0M65,61423,AF1N1,7F237,PNRQM,D6822,TC352,YL479,0Z5K0,H1C5S,QI72Q,5YS06,JMQLG,42C94,3E2B4,A9I37,K7Y3C,0R8E0,2NZ2E,I726L,QR47Y,E3ACI,9TB5Z,W8163,6Y7V0,38U1F,3CC9V,DHZ60,V3U7X,7S806,900J4,49P11,1338V,L1958,4E589,1G2O6,72S2O,39TKS,VV5Y6,4ZNBN,4TP01,GC2E0,77RT3,NR4QR,TXY59,1PZR1,6ZX3Y,6PP7O,H1N2M,I2435,6O819,5O19C,885YB,K96L8,7R2U1,27Q8P,5DC41,02D78,O7E58,BI145,O150S,0N0T1,962QC,I6Q1H,S1T34,Q74C3,X5U26,M53VA,8J58C,94NC2,6VDBU,4J133,G2I3Y,2352N,L02X3,0HE13,V9T15,MP6ZD,5J94D,T5IP5,7ZH56,XW72H,085VO,608V0,M9PDN,K55D3,1H6KV,X9165,D7H3L,U6A5F,5VDZ7,59U4H,8JJ05,K4X33,UC650,XWRZ2,LK112,J2777,PP726,483HQ,6P0A9,4EQ22,E7W0B,Z3AJ4,P62D1,A64RA,8GV76,A2B24,83YX4,7L1OR,K4OKX,U2I5O,98Z53,Y055T,WK8SP,YCU39,7UF6F,GYK4P,28EDN,C8C2N,91YBG,9JTTB,1765Z,X6FPQ,2X0JP,ZO0MS,CHSRA,1I8O0,1061C,E431G,O5W1L,IE7TX,CRLOF,2I46O,5F6N2,ZP7LU,JHWX0,L5PX2,FXRD7,9N487,WYNY9,2XG84,9NF63,2A9BC,OI8LV,0Q983,6F9K0,ZPPG6,5XW90,YY6IN,2UZTE,T3APL,C6RQ9,494AR,4ZABE,83354,81860,24D16,33M82,66J14,4S5MN,38W78,A7115,5YWIF,9H40G,R7M7S,49SXE,OO91A,14P3Y,44O97,Y7SFZ,C972N,7J84V,EBN7I,L919K,5P88A,71IH9,3PU6J,41S44,693WU,74CRI,1TG4L,Z055K,W0Y8G,K6463,8OP2C,GX4B7,441Z2,S0460,0251S,MG428,7GN21,75265,0TBXV,2D1MN,74476,7L36J,2MF56,QNRSS,K722L,A71HU,5414L,G9J4O,UO45O,04U3I,Y48M3,6M4BQ,FW62M,NM779,RE8P8,W03PA,16DKV,036C9,RFMDZ,41586,KNWHH,YCXG2,HH5OW,4EXT8,89D4Y,VI2PI,3E583,KFQ06,N0ND3,J90O2,A1XD4,7O356,6ATBR,16BA9,A03B4,X1909,Q00A1,4E69C,0FYWF,G4K92,PO507,302U4,V7239,NSQAA,H6BSS,VK24P,5HH65,W9R7A,692G3,6QA38,7L4X3,DXHO3,I1E62,P86Z6,41GB1,7D8K7,2CB40,4A2VX,3L335,5J17N,U4567,URV4P,BC6A6,N05U9,55S91,DVJ32,189IF,P92G8,13XV0,Z5457,8OLB8,7414Y,W1QDS,23I4I,111KN,WKCV3,13739,3JNYW,4WWT4,EL4U5,7R8WA,N68EE,Q61WF,7U7TV,2H96R,FWQ95,72Q9Z,V11O8,6603O,ZTOX3,1H7N4,1O71A,7M3FV,64941,4AGB9,7413E,6849A,P6DMH,14747,547P9,N700Y,4GID1,BO32G,KRQDP,74J0L,75EXA,6A0HA,JK183,AL77F,6NDW5,A3685,NGD7N,MC41H,MTETL,UQDB7,JLS4U,S2Y7N,6521A,E9809,F66OF,YY83W,MZU86,Y51Z7,3K5I1,EJ501,A0T42,5QB68,8RJOR,XO59S,LV919,T6X1G,E2K3J,9SQQ6,257EI,295A5,427F3,0KZ25,29HG1,AO9M0,1MB36,31107,Q93B9,RG995,23V72,B40AH,4E609,H2ZHG,G1H09,N216N,CG098,2O37A,ZOS0I,4Q2J8,6080L,4K385,WC9JA,Z3143,QF84C,0BC3A,U33V7,01P26,ZP660,W1IB9,0VN1Q,Y931T,55787,ER39W,CA470,WT0C7,BOYP2,67AJ6,388M8,94NCA,T06XO,O9HO3,JIU8N,5X804,35817,XJ06E,B6G33,05Q23,4D2PY,M3PQU,37YO0,IUYU3,8F151,Z8R1M,A7990,3939D,4Z6WC,3N2TN,JIBU6,P9Z4L,DZT2A,689P3,T8090,SBC0D,98925,5PH8M,69MX9,64UG7,188W0,VW6JP,Y6F54,HWV0O,0IH80,0SF5X,6PC9R,6OIVH,T098P,HFAL6,3SP58,53QT3,NCTAC,99JDW,88465,57E05,80F5A,UT7E6,XZN66,5SA1B,694NI,UN175,J270F,6022J,8Z00Z,9JEA6
2
输出:
error 
代码:

import java.util.Scanner;
import java.util.regex.Pattern;

public class Test {
    public static boolean isInteger(String c) {
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
        return pattern.matcher(c).matches();
    }

    public static int num(String arr) {
        String[] c = new String[arr.length()];
        for (int i = 0; i < 5; i++) {
            c[i] = arr.substring(i, i + 1);
        }
        int count = 0;
        for (int i = 4; i >= 0; i--) {
            if (isInteger(c[i])) {
                int temp = Integer.parseInt(c[i]);
                return temp;
            } else {
                count++;
            }
        }
        if (count == 5) {
            System.out.println("error");
        }
        return 10;
    }

    public static boolean car(int tmp, int n) {
        switch (n) {
            case 1:
                if (tmp == 1 || tmp == 9) {
                    return true;
                } else {
                    return false;
                }
            case 2:
                if (tmp == 2 || tmp == 8) {
                    return true;
                } else {
                    return false;
                }
            case 3:
                if (tmp == 3 || tmp == 7) {
                    return true;
                } else {
                    return false;
                }
            case 4:
                if (tmp == 4 || tmp == 6) {
                    return true;
                } else {
                    return false;
                }
            case 5:
                if (tmp == 5 || tmp == 0) {
                    return true;
                } else {
                    return false;
                }
        }
        return true;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int n = sc.nextInt();
        String[] arr = s.split(",");
        int cishu = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i].length() != 5) {
                cishu++;
                break;
            }
            int tmp = num(arr[i]);
            if (tmp == 10) {
                cishu++;
                break;
            }
            if (cishu == 0) {
                if (car(tmp, n) == true) {
                    System.out.println(arr[i]);
                } else {
                    cishu++;
                }
            } else {
                System.out.println("error");
                break;
            }
        }
        if (cishu == arr.length) {
            System.out.println("none");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/a215012954/article/details/86560854