第13周作业
题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
1.代码:
package homework13; import java.util.ArrayList; import java.util.List; public class xianxingbiao { public static void main(String[] args) { List<String> a1=new ArrayList<>(); List<String> a2=new ArrayList<>(); a1.add("chen"); a1.add("wang"); a1.add("liu"); a1.add("zhang"); a2.add("chen"); a2.add("hu"); a2.add("zhang"); List<String> b1 = new ArrayList<String>(a1); b1.removeAll(a2); b1.addAll(a2); System.out.println("并集为:"+b1); a1.retainAll(a2); System.out.println("交集为:"+a1); } }
2.运行结果:

题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
1.代码
package homework13; import java.util.*; public class Hashmap { public static void main(String[] args) { System.out.println("输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成"); Scanner input = new Scanner(System.in); HashMap<String, Integer> hm = new HashMap<String, Integer>(); StringBuffer c1 = new StringBuffer(); StringBuffer c2 = new StringBuffer(); StringBuffer c3 = new StringBuffer(); String str = input.nextLine(); char[] arr = str.toCharArray(); int count1= 0; int count2 = 0; int count3 = 0; hm.put("大写字母", count1); hm.put("小写字母", count2); hm.put("数字", count3); for (int i = 0; i < arr.length; i++) { if (arr[i] >= 'A' && arr[i] <= 'Z') { c1.insert(i, arr[i]); hm.put("大写字母", ++count1); } } for (int i = 0; i < arr.length; i++) { if (arr[i] >= 'a' && arr[i] <= 'z') { c2.insert(count2, arr[i]); hm.put("小写字母", ++count2); } } for (int i = 0; i < arr.length; i++) { if (arr[i] >= '0' && arr[i] <= '9') { c3.insert(count3, arr[i]); hm.put("数字", ++count3); } } System.out.println("大写字母的个数为:"+hm.get("大写字母")+"个,分别为:"+c1); System.out.println("小写字母的个数为:"+hm.get("小写字母")+"个,分别为:"+c2); System.out.println("数字的个数为:"+hm.get("数字")+"个,分别为:"+c3); } }
2.运行结果:


浙公网安备 33010602011771号