第13周作业集

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

代码:

package zuoye;
import java.util.*;

public class jiaojibingji {

    public static void main(String[] args) {
     ArrayList <String> a1 = new ArrayList();//建立两个线性表
     a1.add("chen");
     a1.add("wang");
     a1.add("liu");
     a1.add("zhang");
     ArrayList <String> a2 = new ArrayList();
     a2.add("chen");
     a2.add("hu");
     a2.add("zhang");
     ArrayList <String> jiaoji = new ArrayList<String>();//建立交集
     ArrayList <String> bingji = new ArrayList<String>(a1);//用a1已有元素建立并集
     for(int i=0;i<a2.size();i++) {//用循环判断,如果a1a2里面有相同的元素。则加到交集里
         if(a1.contains(a2.get(i))) {
            jiaoji.add(a2.get(i));
         }
         else {continue;
     }

    }
     for(int i=0;i<a2.size();i++) {//用循环判断,如果a1里面不包含a2的元素。则加到并集里
         if(!a1.contains(a2.get(i))) {
            bingji.add(a2.get(i));
         }
         else {continue;
     }

    }
     System.out.println("交集是:"+jiaoji+"并集是"+bingji);

}
}

运行结果:

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

 代码:

package zuoye;

import java.util.*;


public class homework2 {

    public static void main(String[] args) {

        ArrayList <Character> a1 = new ArrayList<Character>();//建立三个arraylist类,分别储存三种类型的字符。
        ArrayList <Character> a2 = new ArrayList<Character>();
        ArrayList <Character> a3 = new ArrayList<Character>();
        System.out.println("请输入");//输入字符串。
         Scanner scanner=new Scanner(System.in);
            String s=scanner.nextLine();
        int daxie=0;//建立三个int型变量。为三种类型的字符计数
        int xiaoxie=0;
        int num=0;

        String shuru = s;
        char a[]=shuru.toCharArray();//把输入的字符串转化为字符数组。
        for(int i=0;i<shuru.length();i++) {//利用循环来统计三种字符。并把他们分别加到三个线性表中。
            if(a[i]>='0'&&a[i]<='9') {
                num++;
            a1.add(a[i]);
            }
            else if(a[i]>='a'&&a[i]<='z') {
                xiaoxie++;
                a2.add(a[i]);
            }
            else if(a[i]>='A'&&a[i]<='Z') {
                daxie++;
                a3.add(a[i]);
            }
            else {
                System.out.println("出现了非法字符");
            }
        
        }
        System.out.println("数字出现了"+num+"次,分别是"+a1);
        System.out.println("小写字母出现了"+xiaoxie+"次,分别是"+a2);
        System.out.println("大写字母出现了"+daxie+"次,分别是"+a3);
        

    }

}

运行结果:

原文地址:https://www.cnblogs.com/chen4635/p/11943578.html