-
输入n,然后连续输入n个身份证号。
-
然后根据输入的是
sort1
还是
sort2
,执行不同的功能。输入的不是sort1或sort2,则输出exit并退出。
输入
sort1
,将每个身份证的年月日抽取出来,按
年-月-日
格式组装,然后对组装后的
年-月-日
升序输出。
输入
sort2
,将所有身份证按照里面的年月日升序输出。
注意:
处理输入的时候,全部使用Scanner的nextLine()方法,以免出错。
输入样例:
6
410425198309308225
320203197206115011
431227196108033146
330226196605054190
34080019810819327X
320111197112301539
sort1
sort2
e
输出样例:
1961-08-03
1966-05-05
1971-12-30
1972-06-11
1981-08-19
1983-09-30
431227196108033146
330226196605054190
320111197112301539
320203197206115011
34080019810819327X
410425198309308225
exit
代码长度限制16 KB
时间限制400 ms
内存限制64 MB
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<String> list = new ArrayList<>();
ArrayList<String> dateList = new ArrayList<>();
for (int i = 0; i < n; i++) {
String str = sc.next();
list.add(str);
dateList.add(str.substring(6,15));
}
String[] arr = new String[dateList.size()];
dateList.toArray(arr);
Arrays.sort(arr);
while (true){
String sort = sc.next();
if(sort.equals("sort1")){
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i].substring(0,4) + "-" + arr[i].substring(4,6) + "-" + arr[i].substring(6,8));
}
}else if(sort.equals("sort2")){
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.size(); j++) {
if(arr[i].equals(list.get(j).substring(6,15))){
System.out.println(list.get(j));
break;
}
}
}
}else{
System.out.println("exit");
break;
}
}
}
}
版权声明:本文为weixin_70206677原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。