第13周作业集

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

package work;

import java.awt.List;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

public class table {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList list1 = new ArrayList();
        list1.add("chen");
        list1.add("wang");
        list1.add("liu");
        list1.add("zhang");
        System.out.println("list1内容" + list1);
        ArrayList list2 = new ArrayList();
        list2.add("chen");
        list2.add("hu");
        list2.add("zhang");

        System.out.println("list2内容" + list2);
        ArrayList list3 = new ArrayList();
        list3.clear();
        list3.addAll(list1);
        list3.retainAll(list2);
        System.out.println("两个线性表的交集为:" + list3);
        list3.clear();
        list3.addAll(list1);
        list3.addAll(list2);
        System.out.println("两个线性表的并集为:" + list3);
        // 去重操作
        Set set = new HashSet();
        ArrayList newList = new ArrayList();
        set.addAll(list3);
        newList.addAll(set);
        System.out.println("去重后两个线性表的并集为:" + newList);

    }
}

(2)成功运行截图

 

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

 

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

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

public class letter {
    public static void main(String[] args) {
        int UpperCase = 0, LowerCase = 0, digit = 0;// 大写小写和数字
        Scanner reader = new Scanner(System.in);
        System.out.println("输入内容为:");
        String str = reader.nextLine();
        HashMap al=new HashMap();
        HashMap bl=new HashMap();//
        HashMap cl=new HashMap();//
        char[] ch = str.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            if (Character.isDigit(ch[i])) {
                digit++;
                al.put(i,ch[i]+",");
            } else if (ch[i] >= 'A' && ch[i] <= 'Z') {
                UpperCase++;
                bl.put(i,ch[i]+",");
            } else if (ch[i] >= 'a' && ch[i] <= 'z') {
                LowerCase++;
                cl.put(i,ch[i]+",");
            }
        }
        System.out.print("数字共"+digit+"个,"+"分别为"+" ");
        Set set=al.entrySet();
        Iterator lu=set.iterator();
        while(lu.hasNext()){
            Map.Entry me=(Map.Entry)lu.next();
            System.out.print(me.getValue());
        }
        System.out.print("大写字母共"+UpperCase+"个,"+"分别为"+" ");
        Set set1=bl.entrySet();
        Iterator lu1=set1.iterator();
        while(lu1.hasNext()){
            Map.Entry me1=(Map.Entry)lu1.next();
            System.out.print(me1.getValue());
        }
        System.out.print("小写字母共"+LowerCase+"个,"+"分别为"+" ");
        Set set2=cl.entrySet();
        Iterator lu2=set2.iterator();
        while(lu2.hasNext()){
            Map.Entry me2=(Map.Entry)lu2.next();
            System.out.print(me2.getValue());
        }
    }
}

 

(2)成功运行截图

 

 

 

posted on 2019-11-25 22:39  张璐20194658  阅读(206)  评论(0编辑  收藏  举报