第13周作业集

 

 

 

 

题目1:

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

代码:

package wa;

import java.util.ArrayList;
import java.util.HashSet;

public class List {

    public static void main(String[] args) {
        ArrayList<String> L=new ArrayList<String>();//建立线性表1
        L.add("chen");
        L.add("wang");
        L.add("liu");
        L.add("zhang");
        ArrayList<String> L2=new ArrayList<String>();//建立线性表2
        L2.add("chen");
        L2.add("hu");
        L2.add("zhang");
        ArrayList<String> J=new ArrayList<String>();
        J.addAll(L);//将L中所有元素都加入到J中
        J.retainAll(L2);//将J中与L2不同的元素都删除
        System.out.println("交集为:"+J);
        HashSet<String> B=new HashSet<String>();//利用Set特性查重
        B.addAll(L);//将L中所有元素都加入到B中
        B.addAll(L2);//将L2中所有元素都加入到B中
        System.out.println("并集为:"+B);
        }
    }

运行结果:

 

 

题目2:

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

代码:

package qq;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Test1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner reader = new Scanner(System.in);
        HashMap hm = new HashMap();
        System.out.println("输入一个字符串:");
        String s = reader.nextLine();
        int number = 0;
        int big = 0;
        int samll = 0;
        StringBuffer hm1=new StringBuffer();
        StringBuffer hm2=new StringBuffer();
        StringBuffer hm3=new StringBuffer();
        for (int i = 0; i < s.length(); i++) {
            char w = s.charAt(i);

            if (w >= '0' && w <= '9') {
                number++;                            
                hm1.append(w+",");                     
                hm.put("数字:", hm1);                  //加入到HashMap中
            } else if (w>= 'A' && w <= 'Z') {
                big++;                           // 计算大写字母个数
                hm2.append(w+",");                    
                hm.put("大写字母:", hm2);
            } else if (w >= 'a' && w <= 'z') {
                samll++;                                // 计算小写字母个数
                hm3.append(w+",");                           
                hm.put("小写字母:", hm3);
            }
        }
        Set set = hm.entrySet();                    // 返回包含映射中项的集合
        Iterator j = set.iterator();                 // 用Iterator得到HashMap中的项
        while (j.hasNext()) {                        // 显示元素
            Map.Entry me = (Map.Entry) j.next();                //输入
            System.out.println(me.getKey());
            if (me.getKey().equals("数字:")) {                      //做比较
                System.out.println("共:" + number + "个,");
            
            } 
            else if (me.getKey().equals("大写字母:")) {
                System.out.println("共" + big + "个");
            
            } else if (me.getKey().equals("小写字母:")) {
                System.out.println("共" + samll + "个");
            }
            System.out.println("分别为:"+me.getValue());           
        }

    }

}

运行结果

posted on 2019-11-28 19:43  Jeacky-wang  阅读(103)  评论(0编辑  收藏  举报

导航