第13周作业集
题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
代码:
package 字符串; import java.util.*; public class 线性表 { public static void main(String[] args) { ArrayList<String> a = new ArrayList<String>(); ArrayList<String> b = new ArrayList<String>(); TreeSet<String> intersection = new TreeSet<String>(); ArrayList<String> union = new ArrayList<String>(); a.add("chen"); a.add("wang"); a.add("liu"); a.add("zhang"); b.add("chen"); b.add("hu"); b.add("zhang"); intersection.addAll(a); intersection.addAll(b); System.out.println("并集为" + intersection); union.addAll(intersection); union.removeAll(b); a.removeAll(union); System.out.println("交集为" + a); } }
package 字符串; import java.nio.charset.Charset; import java.util.*; public class 个数 { public static void main(String[] args) { Scanner a = new Scanner(System.in); HashMap<String, Integer> hm = new HashMap<String, Integer>(); System.out.println("请输入包含大写小写字幕数字的字符串"); String s = a.nextLine(); char[] c = s.toCharArray(); int sum1 = 0; int sum2 = 0; int sum3 = 0; hm.put("大写字母", sum1); hm.put("小写字母", sum2); hm.put("数字", sum3); StringBuffer s1 = new StringBuffer(); StringBuffer s2 = new StringBuffer(); StringBuffer s3 = new StringBuffer(); for (int i = 0; i < c.length; i++) { if (c[i] >= '0' && c[i] <= '9') { s1.insert(sum3, c[i]); hm.put("数字", ++sum3); } } System.out.println("数字的个数为:"+hm.get("数字")); System.out.println("分别是:"+s1); for (int i = 0; i < c.length; i++) { if (c[i] >= 'a' && c[i] <= 'z') { s2.insert(sum2, c[i]); hm.put("小写字母", ++sum2); } } System.out.println("小写字幕的个数为:"+hm.get("小写字母")); System.out.println("分别是:"+s2); for (int i = 0; i < c.length; i++) { if (c[i] >= 'A' && c[i] <= 'Z') { s3.insert(sum1, c[i]); hm.put("大写字母", ++sum1); } } System.out.println("大写字母的个数为:"+hm.get("大写字母")); System.out.println("分别是:"+s3); } }