题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
1.代码
1 package week13; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 6 public class Work1 { 7 8 /** 9 * @param args 10 */ 11 public static void main(String[] args) { 12 ArrayList<String> a1 = new ArrayList<String>(); 13 ArrayList<String> a2 = new ArrayList<String>(); 14 ArrayList<String> jiaoji =new ArrayList<String>(); 15 ArrayList<String> bingji =new ArrayList<String>(); 16 a1.add("chen"); 17 a1.add("wang"); 18 a1.add("liu"); 19 a1.add("zhang"); 20 21 a2.add("chen"); 22 a2.add("hu"); 23 a2.add("zhang"); 24 25 for(int i=0;i<3;i++){ 26 if(a1.contains(a2.get(i))) 27 jiaoji.add(a2.get(i)); 28 else { 29 continue; 30 } 31 } 32 System.out.println("交集为"+jiaoji); 33 bingji.addAll(a2); 34 for(int i=0;i<4;i++){ 35 if(a2.contains(a1.get(i))) 36 continue; 37 else { 38 bingji.add(a1.get(i)); 39 } 40 } 41 System.out.println("并集为"+bingji); 42 } 43 }
2.运行结果
题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
1.代码
1 package week13; 2 3 import java.util.HashMap; 4 import java.util.Scanner; 5 6 public class Work2 { 7 8 9 public static void main(String[] args) { 10 Scanner reader = new Scanner(System.in); 11 System.out.println("请输入一个字符串"); 12 String string=reader.nextLine(); 13 char[] arr = string.toCharArray();//将字符串转换为字符数组 14 HashMap<String,Integer> hm = new HashMap<String, Integer>(); 15 16 StringBuilder s1 = new StringBuilder(); 17 StringBuilder s2 = new StringBuilder(); 18 StringBuilder s3 = new StringBuilder(); 19 int count1=0,count2=0, count3=0; 20 hm.put("A", count1); 21 hm.put("a", count2); 22 hm.put("1", count3); 23 for(int i=0;i<arr.length;i++) { 24 if(arr[i]>='A' && arr[i]<='Z') { 25 count1 = hm.get("A").intValue(); 26 s1.insert(count1,arr[i]); 27 hm.put("A", ++count1); 28 } 29 if(arr[i]>='a' && arr[i]<='z') { 30 count2 = hm.get("a").intValue(); 31 s2.insert(count2,arr[i]); 32 hm.put("a", ++count2); 33 } 34 if(arr[i]>='0' && arr[i]<='9') { 35 count3 = hm.get("1").intValue(); 36 s3.insert(count3,arr[i]); 37 hm.put("1", ++count3); 38 } 39 } 40 System.out.println("数字共--"+hm.get("1")+"个,分别为"+s3); 41 System.out.println("小写字母共--"+hm.get("a")+"个,分别为"+s2); 42 System.out.println("大写字母共--"+hm.get("A")+"个,分别为"+s1); 43 44 } 45 }
2.运行代码