题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
源程序:
package D;
import java.util.*;
public class Text1 {
public static void main(String[] args) {
HashSet<String> l1=new HashSet<String>(); /*创建HashSet对象l1*/
l1.add("chen"); /*将元素加入其中*/
l1.add("wang");
l1.add("liu");
l1.add("zhang");
System.out.println("集合l1为:"+l1);
HashSet<String> l2=new HashSet<String>();/*创建HashSet对象l2*/
l2.add("chen"); /*将元素加入其中*/
l2.add("hu");
l2.add("zhang");
System.out.println("集合l2为:"+l2);
HashSet<String> l3=new HashSet<String>(); /*创建HashSet对象l3*/
l3.addAll(l1); /*将l1的内容存入其中*/
l3.retainAll(l2); /*删除重复*/
l1.addAll(l2); /*将l2添加到l1中*/
System.out.println("两个集合的并集为:"+l1);
System.out.println("两个集合的交集为:"+l3);
}
}
三、运行结果

题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
package D;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Test3 {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
HashMap hm = new HashMap();
System.out.println("输入一个字符串:");
String s = reader.nextLine();
int figure = 0;
int capital = 0;
int lowercase = 0;
StringBuffer a=new StringBuffer();
StringBuffer b=new StringBuffer();
StringBuffer c=new StringBuffer();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch >= '0' && ch <= '9') {
figure++;
a.append(ch+",");
hm.put("数字:", a);
} else if (ch >= 'A' && ch <= 'Z') {
capital++;
b.append(ch+",");
hm.put("大写字母:", b);
} else if (ch >= 'a' && ch <= 'z') {
lowercase++;
c.append(ch+",");
hm.put("小写字母:", c);
}
}
Set set = hm.entrySet();
Iterator t = set.iterator();
while (t.hasNext()) {
Map.Entry me = (Map.Entry) t.next();
System.out.println(me.getKey());
if (me.getKey().equals("数字:")) {
System.out.println("共" + figure + "个,");
}
else if (me.getKey().equals("大写字母:")) {
System.out.println("共" + capital + "个");
} else if (me.getKey().equals("小写字母:")) {
System.out.println("共" + lowercase + "个");
}
System.out.println("分别为:"+me.getValue());
}
}
}
三、运行结果
