第13周作业集
题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
代码:
import java.util.*; public class xianxingbiao { public static void main(String[] args) { ArrayList<String> array1 = new ArrayList<String>(); //创建线性表array1 array1.add("chen"); //往线性表加入chen array1.add("wang"); //往线性表加入wang array1.add("liu");//往线性表加入liu array1.add("zhang"); //往线性表加入zhang ArrayList<String> array2 = new ArrayList<String>();//创建线性表array2 array2.add("chen"); array2.add("hu"); array2.add("zhang"); ArrayList<String> bingji = new ArrayList<String>(); ArrayList<String> jiaoji = new ArrayList<String>(); bingji.addAll(array1); for (int i = 0; i < 3; i++) { if (bingji.contains(array2.get(i))) continue; else bingji.add(array2.get(i)); } System.out.println("两个线性表的并集为:" + bingji); for (int i = 0; i < 3; i++) { if (bingji.contains(array2.get(i))) jiaoji.add(array2.get(i)); } System.out.println("两个线性表的交集为:" + jiaoji); } }
运行截图:
题目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 Test { public static void main(String[] args) { //定义String类型的字符串,并赋值 System.out.println("输入需要判断的字符串:"); Scanner r=new Scanner(System.in); String s=new String(); s=r.nextLine(); //new三个字符列表,分别存储大写字母、小写字母、数字字符 ArrayList<Character> number=new ArrayList<Character>(); ArrayList<Character> upper=new ArrayList<Character>(); ArrayList<Character> lower=new ArrayList<Character>(); //对字符串遍历,将单个字符存储到对应的字符列表中 for(int i=0;i<s.length();i++){ if(s.charAt(i)>='A'&&s.charAt(i)<='Z'){ upper.add(s.charAt(i)); continue; } if(s.charAt(i)>='a'&&s.charAt(i)<='z'){ lower.add(s.charAt(i)); continue; } if(s.charAt(i)>='0'&&s.charAt(i)<='9'){ number.add(s.charAt(i)); continue; } } //输出结果 System.out.println("有大写字母"+upper.size()+"个,是"+upper); System.out.println("有小写字母"+lower.size()+"个,是"+lower); System.out.println("有数字字符"+number.size()+"个,是"+number); } }
运行截图: