Java 输入一个学号,判断是否符合以下格式定义: 前两位是:19,20,21,22;3、4位是:01-20;5位:1-9的数字;6位:1-6的数字;7-8位:01-50;
时间: 2024-05-12 21:19:39 浏览: 10
代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学号:");
String id = scanner.nextLine();
if (id.matches("^(19|20|21|22)(0[1-9]|1[0-9]|20)([1-9])([1-6])(0[1-9]|[1-4][0-9]|50)$")) {
System.out.println("学号格式正确");
} else {
System.out.println("学号格式错误");
}
}
}
```
正则表达式解析:
- ^ 表示匹配字符串的开始位置
- (19|20|21|22) 表示匹配19、20、21或者22
- (0[1-9]|1[0-9]|20) 表示匹配01-20之间的数字或者20
- ([1-9]) 表示匹配1-9之间的数字
- ([1-6]) 表示匹配1-6之间的数字
- (0[1-9]|[1-4][0-9]|50) 表示匹配01-50之间的数字
- $ 表示匹配字符串的结束位置
因此,整个正则表达式的含义就是:以19、20、21或22开头,接着是01-20之间的数字或者20,然后是一个1-9之间的数字,再然后是一个1-6之间的数字,最后是01-50之间的数字。如果输入的学号符合这个格式,就输出“学号格式正确”,否则输出“学号格式错误”。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)