第13周作业

题目一:

创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。

代码:

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> u=new ArrayList<String> ();//并集,∪
		ArrayList<String> n=new ArrayList<String> ();//交集,∩
		
		/*下程序段求交集:对长度大的列表a1遍历,每次遍历时,与a2中的元素作比较,
		                    如果a2中存在a1的元素,将这个元素存到n中*/
		for(int i=0;i<a1.size();i++){
			if(a2.contains(a1.get(i))){
				n.add(a1.get(i));
			}
		}
		System.out.println("交集为"+n.subList(0, n.size()));
		
		/*下程序段求并集:先将a1的元素添加到u中,对a2遍历,如果u中存在a2中的元素,进行下一次循环,
									如果u中没有a2中的元素,将此元素存入u中*/
		u.addAll(a1);
		for(int i=0;i<a2.size();i++){
			if(u.contains(a2.get(i)))
				continue;
			else
				u.add(a2.get(i));
		}
		System.out.println("并集为"+u.subList(0, u.size()));

	}

}

运行结果:

 


 

题目二:

编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。

代码:

import java.util.*;
public class test2 {

	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'){
				lower.add(s.charAt(i));
				continue;
			}
			if(s.charAt(i)>='A'&&s.charAt(i)<='Z'){
				upper.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);
	}

}

运行结果:

posted @ 2019-11-30 16:30  胡烙懿  阅读(152)  评论(0编辑  收藏  举报