java身份查验(字符串的使用技巧)

来源:互联网 发布:hopscotch编程 编辑:程序博客网 时间:2024/06/06 06:39

题目:

5-7 jmu-Java-02基本语法-03-身份证排序   (20分)

  1. 首先根据输入的n
  2. 输入n个身份证号。
  3. 据输入的是sort1还是sort2,执行不同的功能。输入的不是sort1或sort2,则输出exit并退出。
    输入sort1,将每个身份证的年月日抽取出来,按年-月-日格式组装,然后对组装后的年-月-日升序输出。
    输入sort2,将所有身份证按照里面的年月日升序输出。

输入样例:

/****333022619660505419034080019810819327X320111197112301539sort1sort2e******/ 

输出样例:

/***1966-05-051971-12-301981-08-1933022619660505419032011119711230153934080019810819327Xexit******/ 
代码如下:(做了11道题,这道题花了百分之80的时间,必须发上来)

package yt052301;import java.lang.reflect.Array;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Scanner;public class Main3 {public static void main(String[] args) {int n;Scanner in = new Scanner(System.in);n = in.nextInt();String[] strs = new String[100];String strs1;String[] strs2 = new String[100];String[] strs3 = new String[100];ArrayList<String> list = new ArrayList<String>();ArrayList<String> list1 = new ArrayList<String>();for (int i = 0; i < n; i++) {strs[i] = in.next();}for (int i = 0; i < n; i++) {strs2[i] = strs[i].substring(6, 10) + "-" + strs[i].substring(10, 12) + "-" + strs[i].substring(12, 14);list.add(strs2[i]);}Collections.sort(list);for (int i = 0; i < n; i++) {strs3[i] = strs[i].substring(6, 14);list1.add(strs3[i]);}Collections.sort(list1);String [] temp=list1.toArray(new String[list1.size()]);      while (true) {strs1 = in.next();if (strs1.equals("sort1")) {for (String s : list) {System.out.println(s);}continue;}if (strs1.equals("sort2")) {for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (strs[j].contains(temp[i])) {System.out.println(strs[j]);break;}}}continue;}else {System.out.println("exit");break;}}}}



原创粉丝点击