一、题目
题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
二、代码
package IntersectionUnion; import java.util.ArrayList; public class Demo { public static void main(String[] args) { ArrayList<String> a = new ArrayList<String>(); a.add("chen"); a.add("wang"); a.add("liu"); a.add("zhang"); ArrayList<String> b = new ArrayList<String>(); b.add("chen"); b.add("hu"); b.add("zhang"); ArrayList<String> c = new ArrayList<String>(a); ArrayList<String> d = new ArrayList<String>(b); a.retainAll(b); System.out.println("两个线性表的交集为:"+a); c.removeAll(d); c.addAll(d); System.out.println("两个线性表的并集为:"+c); } }
package CharactersNumber; import java.util.ArrayList; import java.util.HashMap; import java.util.Scanner; public class Demo { public static void main(String[] args) { Scanner a = new Scanner(System.in); System.out.println("请输入至少由数字、大写字母和小写字母三种字符中的一种格式构成的字符串"); String s = a.nextLine(); char[] c = s.toCharArray(); HashMap<String, Integer> h = new HashMap<String, Integer>(); int sum1 = 0; int sum2 = 0; int sum3 = 0; ArrayList s1 = new ArrayList(); ArrayList s2 = new ArrayList(); ArrayList s3 = new ArrayList(); h.put("大写字母", sum1); h.put("小写字母", sum2); h.put("数字", sum3); for(int i=0;i<c.length;i++) { if(Character.isDigit(c[i])) { //判断数字字符 sum1++; s1.add(c[i]); }else if(Character.isLowerCase(c[i])) { //判读小写字母 sum2++; s2.add(c[i]); }else if(Character.isUpperCase(c[i])) { //判断大写字母 sum3++; s3.add(c[i]); } } System.out.println("数字:"+sum1+"个,分别为:"+s1); System.out.println("小写字母:"+sum2+"个,分别为:"+s2); System.out.println("大写字母:"+sum3+"个,分别为:"+s3); } }
三、运行结果