第13周作业集
题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
/** 在主类中创建两个线性表,用retainAll方法求交集,用HashSet类对象的特性求并集 */
Test 类:
import java.util.*; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList<String> a1 = new ArrayList<String>(); ArrayList<String> a2 = new ArrayList<String>(); ArrayList<String> intersection = new ArrayList<String>(); HashSet<String> union = new HashSet<String>(); a1.add("chen"); a1.add("wang"); a1.add("liu"); a1.add("zhang"); a2.add("chen"); a2.add("hu"); a2.add("zhang"); intersection = new ArrayList<String>(a1); intersection.retainAll(a2); System.out.println("交集:" + intersection); union.addAll(a1); union.addAll(a2); System.out.println("并集:" + union); } }
运行截图:
题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
/** 在主类中,把输入的字符串转换成字符数组,创建HashMap 对象hm ,分别把大写字母,小写字母,数字的个数存在hm 中,创建三个字符串对象,分别存储三种字符。 */
Test 类:
import java.util.*; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println("输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成:"); String s = sc.nextLine(); char[] c = s.toCharArray(); HashMap<String,Integer> hm = new HashMap<String,Integer>(); int sum1 = 0; int sum2 = 0; int sum3 = 0; StringBuffer s1 = new StringBuffer(); StringBuffer s2 = new StringBuffer(); StringBuffer s3 = new StringBuffer(); hm.put("大写字母", sum1); hm.put("小写字母", sum2); hm.put("数字", sum3); for(int i=0;i<c.length;i++) { if(c[i]>='A' && c[i]<='Z') { sum1 = hm.get("大写字母").intValue(); s1.insert(sum1,c[i]); hm.put("大写字母", ++sum1); } if(c[i]>='a' && c[i]<='z') { sum2 = hm.get("小写字母").intValue(); s2.insert(sum2,c[i]); hm.put("小写字母", ++sum2); } if(c[i]>='0' && c[i]<='9') { sum3 = hm.get("数字").intValue(); s3.insert(sum3,c[i]); hm.put("数字", ++sum3); } } System.out.println("大写字母---共"+hm.get("大写字母")+"个,分别为:"+s1); System.out.println("小写字母---共"+hm.get("小写字母")+"个,分别为:"+s2); System.out.println("数字---共"+hm.get("数字")+"个,分别为:"+s3); } }
运行截图: