第13周作业集

一、题目1

  创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。

二、代码实现

 1 /**
 2  * 创建两个ArrayList对象分别存入两组串
 3  * 查找两组相同的内容存入s2,输出交集
 4  * 将s,s1的内容存入s3,查找重复的内容删除,输出并集
 5  */
 6 import java.util.ArrayList;
 7 public class Jiaoji {
 8     /**
 9      * @param args
10      */
11     public static void main(String[] args) {
12         // TODO Auto-generated method stub
13         ArrayList<String> s = new ArrayList();
14         s.add("chen");
15         s.add("wang");
16         s.add("liu");
17         s.add("zhang");
18         
19         ArrayList<String> s1 = new ArrayList();
20         s1.add("chen");
21         s1.add("hu");
22         s1.add("zhang");
23         
24         ArrayList<String> s2 = new ArrayList();
25         ArrayList<String> s3 = new ArrayList();
26         
27         s3.addAll(s);
28         s3.addAll(s1);
29         
30         for(int i = 0; i < s.size(); i++){
31             for(int j = 0; j < s1.size(); j++){
32                 if(s.get(i) == s1.get(j)){
33                     s2.add(s.get(i));
34                 }
35                 
36                 if(s.get(i) == s1.get(j)){
37                     s3.remove(s1.remove(j));
38                 }
39             }
40         }
41         System.out.println("交集:" + s2.toString());
42         System.out.println("并集:" + s3.toString());
43     }
44 
45 }

三、运行结果截图

四、题目2

  编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,                                如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。

五、代码实现

 1 /**
 2  * 创建三个HashMap对象,分别存数字、小、大写字母
 3  * 用Iterator得到HashMap中的项
 4  * 使用Map.Entry内部类操作映射的操作
 5  */
 6 import java.util.*;
 7 
 8 public class Num {
 9     /**
10      * @param args
11      */
12     public static void main(String[] args) {
13         // TODO Auto-generated method stub
14         HashMap<Integer, String> hm = new HashMap();
15         HashMap<Integer, String> hm1 = new HashMap();
16         HashMap<Integer, String> hm2 = new HashMap();
17         
18         System.out.println("输入字符串(包含数字,大、小写字母中的至少一种):" );
19         Scanner reader = new Scanner(System.in);
20         String c = reader.nextLine();
21         
22         char d[] = c.toCharArray();
23         int sum = 0;
24         int sum1 = 0;
25         int sum2 = 0;
26         
27         for(int i = 0; i < d.length; i++){
28             if(d[i] >= '0' && d[i] <= '9'){
29                 hm.put(i, d[i] + ",");
30                 sum = sum + 1;
31             }
32             else if(d[i] >= 'a' && d[i] <= 'z'){
33                 hm1.put(i, d[i] + ",");
34                 sum1 = sum1 + 1;
35             }
36             else if(d[i] >= 'A' && d[i] <= 'Z'){
37                 hm2.put(i, d[i] + ",");
38                 sum2 = sum2 + 1;
39             }
40         }
41         Set set = hm.entrySet();
42         Iterator j = set.iterator();
43         System.out.print("数字共" + sum + "个," + "分别为:");
44         while(j.hasNext()){
45             Map.Entry me = (Map.Entry)j.next();
46             System.out.print(me.getValue());
47         }
48         
49         System.out.print("小写字母共" + sum1 + "个," + "分别为:");
50         Set set1 = hm1.entrySet();
51         Iterator j1 = set1.iterator();
52         while(j1.hasNext()){
53             Map.Entry me1 = (Map.Entry)j1.next();
54             System.out.print(me1.getValue());
55         }
56         
57         System.out.print("大写字母共" + sum2 + "个," + "分别为:");
58         Set set2 = hm2.entrySet();
59         Iterator j2 = set2.iterator();
60         while(j2.hasNext()){
61             Map.Entry me2 = (Map.Entry)j2.next();
62             System.out.print(me2.getValue());
63         }
64         
65     }
66 
67 }

六、运行结果截图

posted on 2019-11-26 22:08  龙卷风摧毁停车场·  阅读(209)  评论(0编辑  收藏  举报