7-15 String的格式判断与内容提取 (100 分)
学校学生学号格式定义如下: 2位年级号+2位学院号+2位班级号+2位序号,如19041103, 编写程序处理用全院学生学号连接起来的长字符串,学院编号为20,包括17、18、19、20四个年级,请从字符串中提取特定两个班级202017班、202061班同学的学号后四位输出,输出编号之间用空格分隔,不换行。 注意:需要排除非法输入。
输入格式:
全院学生学号组成的长字符串(学号之间无分隔) 学号格式定义如下: 2位年级号+2位学院号+2位班级号+2位序号,如19041103,
输出格式:
特定两个班级202017班、202061班同学的学号后四位 如:1701 6103 1704
输入样例1:
在这里给出一组输入。例如:
2020610120201702202051132020110320201706
输出样例1:
在这里给出相应的输出。例如:
6101 1702 1706
结尾无空行
输入样例2(第一个学号多输入一位):
在这里给出一组输入。例如:
20206100120201702202051132020110320201706
输出样例2:
在这里给出相应的输出。例如:
Wrong Format
结尾无空行
输入样例3(第一个学号少输入一位数字):
在这里给出一组输入。例如:
202061120201702202051132020110320201706
输出样例3:
在这里给出相应的输出。例如:
Wrong Format
结尾无空行
输入样例3(学号之间有空格):
在这里给出一组输入。例如:
2020610120201702 202051132020110320201706
输出样例3:
在这里给出相应的输出。例如:
Wrong Format
结尾无空行
在这里插入代码片
```import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
int n=str.length()/8;
int judge=0;
if(str.length()%8==0)
{
String s[][]=new String[n][8];
for(int i=0;i<n;i++)
{
for(int j=0;j<8;j++)
{
char a=str.charAt(i*8+j);
String str2=String.valueOf(a);
s[i][j]=str2;
}
if("2".equals(s[i][0])&&"0".equals(s[i][1])&&"2".equals(s[i][2])&&"0".equals(s[i][3])&&"1".equals(s[i][4])&&"7".equals(s[i][5]))
{
for(int k=4;k<8;k++)
{
if(k==4)
{
if(judge==0)
{
judge++;
}
else
{
System.out.print(" ");
}
}
System.out.print(s[i][k]);
}
}
if("2".equals(s[i][0])&&"0".equals(s[i][1])&&"2".equals(s[i][2])&&"0".equals(s[i][3])&&"6".equals(s[i][4])&&"1".equals(s[i][5]))
{
for(int k=4;k<8;k++)
{
if(k==4)
{
if(judge==0)
{
judge++;
}
else
{
System.out.print(" ");
}
}
System.out.print(s[i][k]);
}
}
}
}
else
{
System.out.println("Wrong Format");
}
}
}