题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
代码:
package wer; import java.util.*; public class fx { public static void main(String[] args) { // TODO Auto-generated method stub List<String> list1 = new ArrayList<String>(Arrays.asList("chen","wang","liu","zhang")); List<String> list2 = new ArrayList<String>(Arrays.asList("chen","hu","zhang")); HashSet<String> a3 = new HashSet<String>(list1); a3.retainAll(list2 ); System.out.println("交集为:"+a3); HashSet<String> a4 = new HashSet<String>(list1); a4.addAll(list2 ); System.out.println("并集为:"+a4); } }
题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
代码:
package wer; import java.util.*; public class fx1 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入字符串,由数字,大写字母或小写字母组成:"); Scanner ys = new Scanner(System.in); String h = ys.nextLine(); int s1=0,s2=0,s3=0; ArrayList<String> ar = new ArrayList<String>(); int i; for( i=0;i<h.length();i++){ ar.add( h.charAt(i)+""); } ArrayList<String> xy = new ArrayList<String>(); ArrayList<String> qw = new ArrayList<String>(); int j; for( j=0;j<ar.size();j++){ String k = ar.get(j); if(k.charAt(0)>='0'&&k.charAt(0)<='9'){ s1++; rm.add(k); }
ArrayList<String>rm=new ArrayList<String>(); else if(k.charAt(0)>='A'&&k.charAt(0)<='Z'){ s2++; xy.add(k); } else if(k.charAt(0)>='a'&&k.charAt(0)<='z'){ s3++; qw.add(k); } } System.out.println("数字共有"+s1+"个,分别是"+rm); System.out.println("大写字母共有"+s2+"个,分别是"+xy); System.out.println("小写字母共有"+s3+"个,分别是"+qw); } }