第13周作业集
题目1:
创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
代码:
package wa; import java.util.ArrayList; import java.util.HashSet; public class List { public static void main(String[] args) { ArrayList<String> L=new ArrayList<String>();//建立线性表1 L.add("chen"); L.add("wang"); L.add("liu"); L.add("zhang"); ArrayList<String> L2=new ArrayList<String>();//建立线性表2 L2.add("chen"); L2.add("hu"); L2.add("zhang"); ArrayList<String> J=new ArrayList<String>(); J.addAll(L);//将L中所有元素都加入到J中 J.retainAll(L2);//将J中与L2不同的元素都删除 System.out.println("交集为:"+J); HashSet<String> B=new HashSet<String>();//利用Set特性查重 B.addAll(L);//将L中所有元素都加入到B中 B.addAll(L2);//将L2中所有元素都加入到B中 System.out.println("并集为:"+B); } }
运行结果:
题目2:
编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
代码:
package qq; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; public class Test1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader = new Scanner(System.in); HashMap hm = new HashMap(); System.out.println("输入一个字符串:"); String s = reader.nextLine(); int number = 0; int big = 0; int samll = 0; StringBuffer hm1=new StringBuffer(); StringBuffer hm2=new StringBuffer(); StringBuffer hm3=new StringBuffer(); for (int i = 0; i < s.length(); i++) { char w = s.charAt(i); if (w >= '0' && w <= '9') { number++; hm1.append(w+","); hm.put("数字:", hm1); //加入到HashMap中 } else if (w>= 'A' && w <= 'Z') { big++; // 计算大写字母个数 hm2.append(w+","); hm.put("大写字母:", hm2); } else if (w >= 'a' && w <= 'z') { samll++; // 计算小写字母个数 hm3.append(w+","); hm.put("小写字母:", hm3); } } Set set = hm.entrySet(); // 返回包含映射中项的集合 Iterator j = set.iterator(); // 用Iterator得到HashMap中的项 while (j.hasNext()) { // 显示元素 Map.Entry me = (Map.Entry) j.next(); //输入 System.out.println(me.getKey()); if (me.getKey().equals("数字:")) { //做比较 System.out.println("共:" + number + "个,"); } else if (me.getKey().equals("大写字母:")) { System.out.println("共" + big + "个"); } else if (me.getKey().equals("小写字母:")) { System.out.println("共" + samll + "个"); } System.out.println("分别为:"+me.getValue()); } } }
运行结果
posted on 2019-11-28 19:43 Jeacky-wang 阅读(103) 评论(0) 编辑 收藏 举报