第13周作业集
一、题目1
创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
二、代码实现
1 /** 2 * 创建两个ArrayList对象分别存入两组串 3 * 查找两组相同的内容存入s2,输出交集 4 * 将s,s1的内容存入s3,查找重复的内容删除,输出并集 5 */ 6 import java.util.ArrayList; 7 public class Jiaoji { 8 /** 9 * @param args 10 */ 11 public static void main(String[] args) { 12 // TODO Auto-generated method stub 13 ArrayList<String> s = new ArrayList(); 14 s.add("chen"); 15 s.add("wang"); 16 s.add("liu"); 17 s.add("zhang"); 18 19 ArrayList<String> s1 = new ArrayList(); 20 s1.add("chen"); 21 s1.add("hu"); 22 s1.add("zhang"); 23 24 ArrayList<String> s2 = new ArrayList(); 25 ArrayList<String> s3 = new ArrayList(); 26 27 s3.addAll(s); 28 s3.addAll(s1); 29 30 for(int i = 0; i < s.size(); i++){ 31 for(int j = 0; j < s1.size(); j++){ 32 if(s.get(i) == s1.get(j)){ 33 s2.add(s.get(i)); 34 } 35 36 if(s.get(i) == s1.get(j)){ 37 s3.remove(s1.remove(j)); 38 } 39 } 40 } 41 System.out.println("交集:" + s2.toString()); 42 System.out.println("并集:" + s3.toString()); 43 } 44 45 }
三、运行结果截图
四、题目2
编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成, 如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
五、代码实现
1 /** 2 * 创建三个HashMap对象,分别存数字、小、大写字母 3 * 用Iterator得到HashMap中的项 4 * 使用Map.Entry内部类操作映射的操作 5 */ 6 import java.util.*; 7 8 public class Num { 9 /** 10 * @param args 11 */ 12 public static void main(String[] args) { 13 // TODO Auto-generated method stub 14 HashMap<Integer, String> hm = new HashMap(); 15 HashMap<Integer, String> hm1 = new HashMap(); 16 HashMap<Integer, String> hm2 = new HashMap(); 17 18 System.out.println("输入字符串(包含数字,大、小写字母中的至少一种):" ); 19 Scanner reader = new Scanner(System.in); 20 String c = reader.nextLine(); 21 22 char d[] = c.toCharArray(); 23 int sum = 0; 24 int sum1 = 0; 25 int sum2 = 0; 26 27 for(int i = 0; i < d.length; i++){ 28 if(d[i] >= '0' && d[i] <= '9'){ 29 hm.put(i, d[i] + ","); 30 sum = sum + 1; 31 } 32 else if(d[i] >= 'a' && d[i] <= 'z'){ 33 hm1.put(i, d[i] + ","); 34 sum1 = sum1 + 1; 35 } 36 else if(d[i] >= 'A' && d[i] <= 'Z'){ 37 hm2.put(i, d[i] + ","); 38 sum2 = sum2 + 1; 39 } 40 } 41 Set set = hm.entrySet(); 42 Iterator j = set.iterator(); 43 System.out.print("数字共" + sum + "个," + "分别为:"); 44 while(j.hasNext()){ 45 Map.Entry me = (Map.Entry)j.next(); 46 System.out.print(me.getValue()); 47 } 48 49 System.out.print("小写字母共" + sum1 + "个," + "分别为:"); 50 Set set1 = hm1.entrySet(); 51 Iterator j1 = set1.iterator(); 52 while(j1.hasNext()){ 53 Map.Entry me1 = (Map.Entry)j1.next(); 54 System.out.print(me1.getValue()); 55 } 56 57 System.out.print("大写字母共" + sum2 + "个," + "分别为:"); 58 Set set2 = hm2.entrySet(); 59 Iterator j2 = set2.iterator(); 60 while(j2.hasNext()){ 61 Map.Entry me2 = (Map.Entry)j2.next(); 62 System.out.print(me2.getValue()); 63 } 64 65 } 66 67 }
六、运行结果截图