第13周作业集

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

 

 

 

代码:

package sd;
import java.util.*;
public class Test1 {

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

        
        
        
        
        
        
        
      
         
    }

}

运行结果:

 

 

 

 

 

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

代码:

package sd;
import java.util.*;
public class Test1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        HashMap a=new HashMap();   
        Scanner sc = new Scanner(System.in);
        String    str = sc.nextLine();    
        int count = 0;
        int big = 0;
        int small = 0;
        StringBuffer ch1=new StringBuffer();
        StringBuffer ch2=new StringBuffer();
        StringBuffer ch3=new StringBuffer();
        for(int i = 0; i<str.length();i++){
            char c= str.charAt(i);
            if(c>='A'&& c<='Z'){
                big++;
                ch1.append(c+",");
            }else if(c>='a'&& c<='z'){
                small++;
                ch2.append(c+",");
            }else if(c>='0' && c<='9'){
                count++;
                ch3.append(c+",");
            }
        
        }
        a.put(big,ch1 );
        a.put(small,ch2 );
        a.put(count,ch3 );
        Set set=a.entrySet();
        Iterator i =set.iterator();
        while(i.hasNext()){
            Map.Entry me=(Map.Entry)i.next();
            if(me.getKey().equals(big)){
                System.out.print("大写字母——共"+big+"个,");
            }else if(me.getKey().equals(small)){
                System.out.print("小写字母——共"+small+"个,");
            }else if(me.getKey().equals(count)){
                System.out.print("数字——共"+count+"个,");
            }
            System.out.println("分别是:"+me.getValue());   
        
        }
        
        
        
      
         
    }

}

运行结果:

 

 

 

 

 

posted on 2019-11-28 15:12  sdw98  阅读(109)  评论(0编辑  收藏  举报

导航