第13周作业集

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

代码:

package 字符串;

import java.util.*;

public class 线性表 {

    public static void main(String[] args) {
        ArrayList<String> a = new ArrayList<String>();
        ArrayList<String> b = new ArrayList<String>();
        TreeSet<String> intersection = new TreeSet<String>();
        ArrayList<String> union = new ArrayList<String>();

        a.add("chen");
        a.add("wang");
        a.add("liu");
        a.add("zhang");

        b.add("chen");
        b.add("hu");
        b.add("zhang");
        intersection.addAll(a);
        intersection.addAll(b);
        System.out.println("并集为" + intersection);
        union.addAll(intersection);
        union.removeAll(b);
        a.removeAll(union);
        System.out.println("交集为" + a);

    }

}

 

 

package 字符串;

import java.nio.charset.Charset;
import java.util.*;

public class 个数 {

    public static void main(String[] args) {
        Scanner a = new Scanner(System.in);
        HashMap<String, Integer> hm = new HashMap<String, Integer>();
        System.out.println("请输入包含大写小写字幕数字的字符串");
        String s = a.nextLine();
        char[] c = s.toCharArray();
        int sum1 = 0;
        int sum2 = 0;
        int sum3 = 0;
        hm.put("大写字母", sum1);
        hm.put("小写字母", sum2);
        hm.put("数字", sum3);
        StringBuffer s1 = new StringBuffer();
        StringBuffer s2 = new StringBuffer();
        StringBuffer s3 = new StringBuffer();
        
        for (int i = 0; i < c.length; i++) {
            if (c[i] >= '0' && c[i] <= '9') {
                s1.insert(sum3, c[i]);
                hm.put("数字", ++sum3);
            }
            
        }
        System.out.println("数字的个数为:"+hm.get("数字"));
        System.out.println("分别是:"+s1);
        
        for (int i = 0; i < c.length; i++) {
            if (c[i] >= 'a' && c[i] <= 'z') {
                s2.insert(sum2, c[i]);
                hm.put("小写字母", ++sum2);
            }
            
        }
        System.out.println("小写字幕的个数为:"+hm.get("小写字母"));
        System.out.println("分别是:"+s2);
        
        for (int i = 0; i < c.length; i++) {
            if (c[i] >= 'A' && c[i] <= 'Z') {
                s3.insert(sum1, c[i]);
                hm.put("大写字母", ++sum1);
            }
            
        }
        System.out.println("大写字母的个数为:"+hm.get("大写字母"));
        System.out.println("分别是:"+s3);
    }
}

 

 

posted @ 2019-11-30 11:51  l刘磊  阅读(142)  评论(0编辑  收藏  举报