第13周作业集
一.题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
package work;
import java.awt.List;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
public class table {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList list1 = new ArrayList();
list1.add("chen");
list1.add("wang");
list1.add("liu");
list1.add("zhang");
System.out.println("list1内容" + list1);
ArrayList list2 = new ArrayList();
list2.add("chen");
list2.add("hu");
list2.add("zhang");
System.out.println("list2内容" + list2);
ArrayList list3 = new ArrayList();
list3.clear();
list3.addAll(list1);
list3.retainAll(list2);
System.out.println("两个线性表的交集为:" + list3);
list3.clear();
list3.addAll(list1);
list3.addAll(list2);
System.out.println("两个线性表的并集为:" + list3);
// 去重操作
Set set = new HashSet();
ArrayList newList = new ArrayList();
set.addAll(list3);
newList.addAll(set);
System.out.println("去重后两个线性表的并集为:" + newList);
}
}
(2)成功运行截图
二.题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
/*输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,
* 如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,
* 统计每一种字符的个数,并将该个数和每种字符分别输出显示。
* 如:输入内容为“34Ah5yWj”,
* 数字——共3个,分别为3,4,5;
* 小写字母——共3个,分别为h,y,j;
* 大写字母——共2个,分别为A,W。
*/
package work;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class letter {
public static void main(String[] args) {
int UpperCase = 0, LowerCase = 0, digit = 0;// 大写小写和数字
Scanner reader = new Scanner(System.in);
System.out.println("输入内容为:");
String str = reader.nextLine();
HashMap al=new HashMap();
HashMap bl=new HashMap();//
HashMap cl=new HashMap();//
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
if (Character.isDigit(ch[i])) {
digit++;
al.put(i,ch[i]+",");
} else if (ch[i] >= 'A' && ch[i] <= 'Z') {
UpperCase++;
bl.put(i,ch[i]+",");
} else if (ch[i] >= 'a' && ch[i] <= 'z') {
LowerCase++;
cl.put(i,ch[i]+",");
}
}
System.out.print("数字共"+digit+"个,"+"分别为"+" ");
Set set=al.entrySet();
Iterator lu=set.iterator();
while(lu.hasNext()){
Map.Entry me=(Map.Entry)lu.next();
System.out.print(me.getValue());
}
System.out.print("大写字母共"+UpperCase+"个,"+"分别为"+" ");
Set set1=bl.entrySet();
Iterator lu1=set1.iterator();
while(lu1.hasNext()){
Map.Entry me1=(Map.Entry)lu1.next();
System.out.print(me1.getValue());
}
System.out.print("小写字母共"+LowerCase+"个,"+"分别为"+" ");
Set set2=cl.entrySet();
Iterator lu2=set2.iterator();
while(lu2.hasNext()){
Map.Entry me2=(Map.Entry)lu2.next();
System.out.print(me2.getValue());
}
}
}
(2)成功运行截图