十三次作业

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

import java.util.HashSet;
import java.util.LinkedList;

public class 集合 {
    public static void main(){

        LinkedList <String> q1 =new LinkedList<String>();
        q1.add("chen");
        q1.add("wang");
        q1.add("liu");
        q1.add("zhang");
        LinkedList<String>q2=new LinkedList<String>();
        q2.add("chen");
        q2.add("hu");
        q2.add("zhang");
        HashSet<String>q3=new HashSet<String>(q2);
        q3.retainAll(q1);
        System.out.println("并集是:"+q3);
        HashSet<String>q4=new HashSet<String>(q1);
        q4.addAll(q2);
        System.out.println("交集是:"+q4);

    }




}

结果:

 

 

 

 

 

 

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

public class 字符 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("请输入一个字符串,由数字,大写字母或小写字母组成:");
        Scanner reader = new Scanner(System.in);
        String s = reader.nextLine();
        int sum1=0,sum2=0,sum3=0;
        ArrayList<String> a = new ArrayList<String>();

        for(int i=0;i<s.length();i++){
            a.add( s.charAt(i)+"");
        }
        ArrayList<String> sz = new ArrayList<String>();
        ArrayList<String> zm1 = new ArrayList<String>();
        ArrayList<String> zm2 = new ArrayList<String>();

        for(int j=0;j<a.size();j++){
            String k = a.get(j);
            if(k.charAt(0)>='0'&&k.charAt(0)<='9'){

                sum1++;
                sz.add(k);

            }
            else if(k.charAt(0)>='A'&&k.charAt(0)<='Z'){
                sum2++;
                zm1.add(k);
            }
            else if(k.charAt(0)>='a'&&k.charAt(0)<='z'){
                sum3++;
                zm2.add(k);
            }

        }

        System.out.println("数字共有"+sum1+"个,分别是"+sz);
        System.out.println("大写字母共有"+sum2+"个,分别是"+zm1);
        System.out.println("小写字母共有"+sum3+"个,分别是"+zm2);

    }

结果:

 

 

 


posted on 2019-12-01 20:12  偏偏-  阅读(88)  评论(0编辑  收藏  举报