Java程序设计(三)作业

 

题目1:用户输入学号,如果是以ccutsoft开头,并且后边是4位数字,前两位大于06小于等于当前年份。判断用户输入是否合法。ccutsoft_0801。

 1 //题目1:用户输入学号,如果是以abcd开头,并且后边是4位数字,前两位大于06小于等于当前年份。判断用户输入是否合法。abcd_0801。
 2 import java.util.*;
 3 
 4 public class p_19_1 {
 5     public static void main(String[] args) {
 6         @SuppressWarnings("resource")
 7         Scanner reader = new Scanner(System.in);
 8         System.out.println("请输入学生学号: ");
 9         String a = reader.next();
10 //        StringTokenizer token=new StringTokenizer(a," _");
11 //        int count=token.countTokens();
12 //        while(token.hasMoreTokens()) {
13 //            String temp=token.nextToken();
14 
15 //        }
16 
17         String LF4 = a.substring(a.length() - 4);// 后四
18         String lf2 = LF4.substring(0, 2);// 后四前二
19 
20         boolean b = true;
21         try {
22             @SuppressWarnings("unused")
23             int n1 = Integer.parseInt(LF4);// 后四位转整
24             int n2 = Integer.parseInt(lf2);
25             if (n2 >= 06 && n2 <= 22) {
26                 b = true;
27             } else {
28                 b = false;
29             }
30         } catch (Exception e) {
31             b = false;
32         }
33         if (a.startsWith("abcd") && b == true) {
34             System.out.println("学生学号录入成功!");
35         } else {
36             System.out.println("学生学号格式错误!");
37         }
38     }
39 }

 

题目2:有一个长度是10的数组,数组内有10个人名,要求去掉重复的。

 1 //有一个长度是10的数组,数组内有10个人名,要求去掉重复的
 2 
 3 import java.util.ArrayList;//集合转数组
 4 import java.util.List;
 5 
 6 public class index {
 7     @SuppressWarnings("unchecked")
 8     public static void main(String[] args) {
 9 //        String[] Array = new String[10]; 声明并创建
10         String Array[] = new String[] { "Kangkang", "张", "Michael", "Rose", "Kangkang", "张", "Aja", "Seven7", "啊Ar",
11                 "赵" };
12 // 张、Kangkang    
13 //equals()去重
14 //        for(int i=0;i<Array.length;i++){
15 //            if(array[n].equals(Array.get[i])){
16 //        System.out.println(Array[1]);
17         @SuppressWarnings("rawtypes")
18         List list = new ArrayList();
19         for (int i = 0; i < Array.length; i++) {
20             if (!list.contains(Array[i])) {
21                 list.add(Array[i]);
22             } else {
23             }
24         }
25         System.out.println("去重: ");
26         //遍历输出
27         for (int n = 0; n < list.size(); n++) {
28             String str = (String) list.get(n);
29             System.out.println(str);
30         }
31         //输出数组
32         System.out.println(list);
33     }
34 
35 }

 

题目3:有一身份证号,判断此为男还是女,基于此方法,写一个算法,判断一个身份证号为男还是女,身份证的倒数第2位为偶数为女。(身份证分15位和18位)

 1 //有一身份证号,判断此为男还是女,基于此方法,写一个算法,判断一个身份证号为男还是女,
 2 //身份证的倒数第2位为偶数为女。(身份证分15位和18位)
 3 
 4 import java.util.*;
 5 
 6 public class p_19_3 {
 7     public static void main(String[] args) {
 8         Scanner reader = new Scanner(System.in);
 9         System.out.println("请输入您的身份证号: ");
10         // 正则表达式
11         String IDcard = reader.next();
12         String SZ = IDcard.substring(IDcard.length() - 2);// 后二
13 //        String SZ2 = IDcard.substring(0, 14);// 前十四
14 //        String SZ3 = IDcard.substring(0,17);// 前十七
15         String sz = SZ.substring(0, 1);// 后二前一
16         try {
17             int n1 = Integer.parseInt(sz);// 后二前一转整
18             if (IDcard.length() != 18 && IDcard.length() != 15) {
19                 // 位数
20                 System.out.println("身份证输入错误,请认真核对您的身份证号111!");
21             } else if (n1 % 2 != 0) {
22                 // 判断奇偶
23                 System.out.println("根据身份证信息判断,您的性别为男");
24             } else {
25                 System.out.println("根据身份证信息判断,您的性别为女");
26             }
27         }
28         // 出现输入异常
29         catch (Exception e) {
30             System.out.println("身份证输入错误,请认真核对您的身份证号222!");
31         }
32 
33     }
34 }

 

posted @ 2022-10-05 14:56  飞鱼Dai  阅读(55)  评论(0)    收藏  举报