7-4 正则表达式训练-学号校验
分数 7
全屏浏览题目
切换布局
作者 段喜龙
单位 南昌航空大学
对软件学院2020级同学学号进行校验,学号共八位,规则如下:
- 1、2位:入学年份后两位,例如20年
- 3、4位:学院代码,软件学院代码为20
- 5位:方向代码,例如1为软件工程,7为物联网
- 6位:班级序号
- 7、8位:学号(序号)
要求如下:
- 只针对2020级
- 其中软件工程专业班级分别为:202011~17、61,物联网工程专业班级为202071~202073,数据科学与大数据专业班级为202081~82
- 每个班级学号后两位为01~40
输入格式:
在一行输入一个字符串。
输出格式:
若符合规则的学号,输出”正确“,若不符合,输出”错误“。
输入样例1:
在这里给出一组输入。例如:
20201536
输出样例1:
在这里给出相应的输出。例如:
正确
输入样例2:
在这里给出一组输入。例如:
20201541
输出样例2:
在这里给出相应的输出。例如:
错误
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
我滴代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String a = in.next();
if(a.matches("^2020(61|1[1-7]|7[1-3]|8[1-2])([1-3][0-9]|40|0[1-9])$")){
System.out.print("正确");
}else{
System.out.print("错误");
}
}
}
我滴总结
这里要注意几种情况
一个班人数最多40人所以最后两位学号当以4开头时后面只能是0
还有就是没有00号学员,要排除着一种情况