第13周作业集

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

代码:

package edu.ccut;

import java.util.ArrayList;

public class Text {
    public static void main(String[] args) {
        ArrayList<String> a=new ArrayList<String>();
        a.add("chen");
        a.add("wang");
        a.add("liu");
        a.add("zhang");
        ArrayList<String> b=new ArrayList<String>();
        b.add("chen");
        b.add("hu");
        b.add("zhang");
        a.retainAll(b);
        System.out.println("交集是 "+a);
        a.addAll(b);
        System.out.println("并集是:"+a);
    }

}

运行截图:

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

代码:

package edu.ccut;
import java.util.*;

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

运行截图:

原文地址:https://www.cnblogs.com/lz150520/p/11963209.html