第十三次作业
题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
import java.util.HashSet; import java.util.LinkedList; public class 集合 { public static void main(){ LinkedList <String> q1 =new LinkedList<String>(); q1.add("chen"); q1.add("wang"); q1.add("liu"); q1.add("zhang"); LinkedList<String>q2=new LinkedList<String>(); q2.add("chen"); q2.add("hu"); q2.add("zhang"); HashSet<String>q3=new HashSet<String>(q2); q3.retainAll(q1); System.out.println("并集是:"+q3); HashSet<String>q4=new HashSet<String>(q1); q4.addAll(q2); System.out.println("交集是:"+q4); } }
结果;

题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
import java.util.*; public class Text { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader = new Scanner(System.in); String s = reader.nextLine(); System.out.println("请输入一个字符串:"); ArrayList<String> array = new ArrayList<String>(); for(int i=0;i<s.length();i++){ array.add( s.charAt(i)+""); } ArrayList<String> array1 = new ArrayList<String>(); ArrayList<String> array2 = new ArrayList<String>(); ArrayList<String> array3 = new ArrayList<String>(); int p1=0,p2=0,p3=0; for(int j=0;j<array.size();j++){ String m = array.get(j); if(m.charAt(0)>='0'&&m.charAt(0)<='9'){ p1++; array1.add(m); } else if(m.charAt(0)>='A'&&m.charAt(0)<='Z'){ p2++; array2.add(m); } else if(m.charAt(0)>='a'&&m.charAt(0)<='z'){ p3++; array3.add(m); } } System.out.println("数字共有"+p1+"个,分别是"+array1); System.out.println("大写字母共有"+p2+"个,分别是"+array2); System.out.println("小写字母共有"+p3+"个,分别是"+array3); } }
结果;


浙公网安备 33010602011771号