第13周作业集

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

代码:

import java.util.*;
public class Test {

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

	}

}

  

运行结果

 

 

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

 代码:

import java.util.*;
public class Test {

    public static void main(String[] args) {
        
        System.out.println("请输入字符串:");
        Scanner scanner = new Scanner(System.in);
        String r = scanner.nextLine();
        char c[]=r.toCharArray();
        int number=0;
        int low=0;
        int high=0;
        Map<String,Integer> map= new HashMap<String,Integer>(); 
        StringBuffer s1 = new StringBuffer();
        StringBuffer s2 = new StringBuffer();
        StringBuffer s3 = new StringBuffer();
        map.put("数字",number);  
        map.put("小写字母",low);
        map.put("大写字母",high);
      
        for(int i=0;i<c.length;i++) {
            if(c[i]>='0'&&c[i]<='9') {
                  number=map.get("数字");
                  s1.insert(number,c[i]);
                  map.put("数字", number+=1);
                 
            }
            else if(c[i]>='A'&&c[i]<='Z') {
                 high=map.get("大写字母");
                 s2.insert(high,c[i]);
                 map.put("大写字母", high+=1);
                
            }
            else if(c[i]>='a'&&c[i]<='z') {
                low=map.get("小写字母");
             s3.insert(low,c[i]);
             map.put("小写字母", low+=1);
                
            }
       }
 
         System.out.println("数字——共"+number+"个,分别为:"+s1);
         System.out.println("大写字母——共"+high+"个,分别为:"+s2);
         System.out.println("小写字母——共"+low+"个,分别为:"+s3);
        
    }

}

运行截图

 

posted @ 2019-12-01 16:49  shanshan3  阅读(102)  评论(0编辑  收藏  举报