第13周作业集

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

/**  在主类中创建两个线性表,用retainAll方法求交集,用HashSet类对象的特性求并集   */

Test 类:

import java.util.*;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<String> a1 = new ArrayList<String>();
        ArrayList<String> a2 = new ArrayList<String>();
        ArrayList<String> intersection = new ArrayList<String>();
        HashSet<String> union = new HashSet<String>();
        a1.add("chen");
        a1.add("wang");
        a1.add("liu");
        a1.add("zhang");
        a2.add("chen");
        a2.add("hu");
        a2.add("zhang");
        intersection = new ArrayList<String>(a1);
        intersection.retainAll(a2);
        System.out.println("交集:" + intersection);
        union.addAll(a1);
        union.addAll(a2);
        System.out.println("并集:" + union);

    }

}

运行截图:

 

 

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

/**     在主类中,把输入的字符串转换成字符数组,创建HashMap 对象hm ,分别把大写字母,小写字母,数字的个数存在hm 中,创建三个字符串对象,分别存储三种字符。     */

Test 类:

 

import java.util.*;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成:");
        String s = sc.nextLine();
        char[] c = s.toCharArray();
        HashMap<String,Integer> hm = new HashMap<String,Integer>();
        int sum1 = 0;
        int sum2 = 0;
        int sum3 = 0;
        StringBuffer s1 = new StringBuffer();
        StringBuffer s2 = new StringBuffer();
        StringBuffer s3 = new StringBuffer();
        hm.put("大写字母", sum1);
        hm.put("小写字母", sum2);
        hm.put("数字", sum3);
        for(int i=0;i<c.length;i++) {
            if(c[i]>='A' && c[i]<='Z') {
                sum1 = hm.get("大写字母").intValue();
                s1.insert(sum1,c[i]);
                hm.put("大写字母", ++sum1);
            }
            if(c[i]>='a' && c[i]<='z') {
                sum2 = hm.get("小写字母").intValue();
                s2.insert(sum2,c[i]);
                hm.put("小写字母", ++sum2);
            }
            if(c[i]>='0' && c[i]<='9') {
                sum3 = hm.get("数字").intValue();
                s3.insert(sum3,c[i]);
                hm.put("数字", ++sum3);
            }
        }
        
        System.out.println("大写字母---共"+hm.get("大写字母")+"个,分别为:"+s1);
        System.out.println("小写字母---共"+hm.get("小写字母")+"个,分别为:"+s2);
        System.out.println("数字---共"+hm.get("数字")+"个,分别为:"+s3);
    }

}

 

运行截图:

 

 

 

 

posted @ 2019-11-29 18:43  季英杰  阅读(224)  评论(0编辑  收藏  举报