- 输入n,然后连续输入n个身份证号。
- 然后根据输入的是sort1还是sort2,执行不同的功能。输入的不是sort1或sort2,则输出
exit
并退出。
输入sort1,将每个身份证的年月日抽取出来,按年-月-日格式组装,然后对组装后的年-月-日升序输出。
输入sort2,将所有身份证按照里面的年月日升序输出。
注意:处理输入的时候,全部使用Scanner
的nextLine()方法,以免出错。
输入样例:
3
330226196605054190
34080019810819327X
320111197112301539
sort1
sort2
e
输出样例:
1966-05-05
1971-12-30
1981-08-19
330226196605054190
320111197112301539
34080019810819327X
exit
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
scan.nextLine();
String A[] = new String[n], C[] = new String[n];
for (int i = 0; i < n; i++) {
A[i] = scan.nextLine();
}
String B = scan.nextLine();
for (; B.equals("sort1") || B.equals("sort2");) {
if (B.equals("sort1")) {
for (int j = 0; j < n; j++) {
C[j] = A[j].substring(6, 10) + "-" + A[j].substring(10, 12) + "-" + A[j].substring(12, 14);
}
Arrays.sort(C);
for (int j = 0; j < n; j++) {
System.out.println(C[j].toString());
}
} else if (B.equals("sort2")) {
for (int j = 0; j < n; j++) {
C[j] = A[j].substring(6, 14);
}
Arrays.sort(C);
for (int j = 0; j < n; j++)
for (int k = 0; k < n; k++)
if (A[k].contains(C[j]))
System.out.println(A[k].toString());
}
System.out.println("exit");
B = scan.nextLine();
}
scan.close();
}
}