第13周作业集

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

代码:

package factorial;
import java.util.*;
public class List {

    public static void main(String[] args) {
        ArrayList<String> test1 = new ArrayList<String>(4);
        ArrayList<String> test2 = new ArrayList<String>(3);
        test1.add("chen");
        test1.add("wang");
        test1.add("liu");
        test1.add("zhang");
        test2.add("chen");
        test2.add("hu");
        test2.add("zhang");
        //交集
        ArrayList<String> test3 = new ArrayList<String>();
        for(int i = 0; i < test1.size(); i++) {
            for(int j = 0; j < test2.size(); j++) {
                if(test1.get(i).equals(test2.get(j))) {
                    test3.add(test1.get(i));
                    test2.remove(j);
                }
            }
        }
        System.out.println("交集为:" +test3);
        //并集
        ArrayList<String> test4 = new ArrayList<String>();
        test4.addAll(test1);
        test4.addAll(test2);
        System.out.println("并集为:"+test4);
    }

}

运行结果:

 

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

代码:

package factorial;
import java.util.*;
public class Array {

    public static void main(String[] args) {
        System.out.println("请输入字符串:");
        Scanner input  = new Scanner(System.in);
        String test = input.nextLine();
        ArrayList<String> number = new  ArrayList<String>();
        ArrayList<String> letter = new  ArrayList<String>();
        ArrayList<String> LETTER = new  ArrayList<String>();
        int numbercount = 0;
        int lettercount = 0;
        int LETTERCOUNT = 0;

        for(int i = 0; i < test.length();i++) {
            String sub = test.substring(i,i + 1);
            if(sub.matches("\\d")) {
                number.add(sub);
                numbercount++;
            }
            if(sub.matches("[a-z]")) {
                letter.add(sub);
                lettercount++;
            }
            if(sub.matches("[A-Z]")) {
                LETTER.add(sub);
                LETTERCOUNT++;
            }
        }
        System.out.println("数字共" + numbercount + "个  分别是" + number);
        System.out.println("小写字母共" + lettercount + "个  分别是" + letter);
        System.out.println("大写字母共" + LETTERCOUNT + "个  分别是" + LETTER);
    }

}

运行结果:

posted on 2019-11-30 17:13  李基民  阅读(132)  评论(0编辑  收藏  举报