题目1:
创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
一、代码:
package ccut.edu.cn; import java.util.ArrayList; public class IntersectionAndUnion { /** * @param args */ public static void main(String args[] ) { // TODO Auto-generated method stub ArrayList<String> x=new ArrayList<String>(); x.add("chen"); x.add("liu"); x.add("wang"); x.add("zhang"); ArrayList<String> y=new ArrayList<String>(); y.add("chen"); y.add("hu"); y.add("zhang"); ArrayList<String> Intersection=new ArrayList<String>(); ArrayList<String> Union=new ArrayList<String>(); Intersection.addAll(x); for(int i=0;i<3;i++){ if(Intersection.contains(y.get(i))){ continue; }else{ Intersection.add(y.get(i)); } } System.out.println(Intersection); for(int i=0;i<3;i++){ if(x.contains(y.get(i))){ Union.add(y.get(i)); }else{ continue;} } System.out.println(Union); } }
二、运行结果
题目2:
编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
一、代码
package ccut.edu.cn; import java.util.HashMap; import java.util.Scanner; public class Test{ public static void main(String args[] ) { Scanner reader = new Scanner(System.in); System.out.println("请输入一个字符串"); String string=reader.nextLine(); char[] arr = string.toCharArray(); HashMap<String,Integer> hm = new HashMap<String, Integer>(); StringBuilder x = new StringBuilder(); StringBuilder y = new StringBuilder(); StringBuilder z = new StringBuilder(); int a1=0,a2=0, a3=0; hm.put("A", a1); hm.put("a", a2); hm.put("1", a3); for(int i=0;i<arr.length;i++) { if(arr[i]>='A' && arr[i]<='Z') { a1 = hm.get("A").intValue(); x.insert(a1,arr[i]); hm.put("A", ++a1); } if(arr[i]>='a' && arr[i]<='z') { a2 = hm.get("a").intValue(); y.insert(a2,arr[i]); hm.put("a", ++a2); } if(arr[i]>='0' && arr[i]<='9') { a3 = hm.get("1").intValue(); z.insert(a3,arr[i]); hm.put("1", ++a3); } } System.out.println("数字共--"+hm.get("1")+"个,分别为"+z); System.out.println("小写字母共--"+hm.get("a")+"个,分别为"+y); System.out.println("大写字母共--"+hm.get("A")+"个,分别为"+x); } }
二、运行结果