题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
package ccut.ch.thirteen.j;
import java.util.*;
public class Test1 {
public static void main(String[] args) {
ArrayList<String> a1= new ArrayList<String>();
a1.add("chen");
a1.add("wang");
a1.add("liu");
a1.add("zhang");
ArrayList<String> a2= new ArrayList<String>();
a2.add("chen");
a2.add("hu");
a2.add("zhang");
ArrayList<String> b= new ArrayList<String>();
ArrayList<String> j= new ArrayList<String>();
b.addAll(a1);
for(int i=0;i<3;i++)
{
if(b.contains(a2.get(i)))
j.add(a2.get(i));
}
System.out.println("交集:"+j);
for(int i=0;i<3;i++)
{
if(b.contains(a2.get(i)))
continue;
else
b.add(a2.get(i));
}
System.out.println("并集:"+b);
}
}
运行结果

题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
package ccut.ch.thirteen.j;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
System.out.println("输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成:");
Scanner r = new Scanner(System.in);
String s = r.nextLine();
char[] ch = s.toCharArray();
int temp1 = 0, temp2 = 0, temp3 = 0;
HashMap<Integer, Character> hm1 = new HashMap<Integer, Character>();
for (int i = 0; i < ch.length; i++)
if (ch[i] >= 'A' && ch[i] <= 'Z') {
temp1++;
hm1.put(temp1, ch[i]);
}
System.out.print("大写字母----共" + temp1 + "个," + "分别为" + " ");
Set set1 = hm1.entrySet();
Iterator b2 = set1.iterator();
while (b2.hasNext()) {
Map.Entry me1 = (Map.Entry) b2.next();
System.out.print(me1.getValue());
}
System.out.println();
HashMap<Integer, Character> hm2 = new HashMap<Integer, Character>();
for (int i = 0; i < ch.length; i++)
if (ch[i] >= 'a' && ch[i] <= 'z') {
temp2++;
hm2.put(temp2, ch[i]);
}
System.out.print("小写字母----共" + temp2 + "个," + "分别为" + " ");
Set set2 = hm2.entrySet();
Iterator b3 = set2.iterator();
while (b3.hasNext()) {
Map.Entry me2 = (Map.Entry) b3.next();
System.out.print(me2.getValue());
}
System.out.println();
HashMap<Integer, Character> hm3 = new HashMap<Integer, Character>();
for (int i = 0; i < ch.length; i++)
if (ch[i] >= '0' && ch[i] <= '9') {
temp3++;
hm3.put(temp3, ch[i]);
}
System.out.print("数字----共" + temp3 + "个," + "分别为" + " ");
Set set = hm3.entrySet();
Iterator b1 = set.iterator();
while (b1.hasNext()) {
Map.Entry me = (Map.Entry) b1.next();
System.out.print(me.getValue());
}
}
}
运行结果

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步