7-4 sdust-Java-字符串集合求并集 (20分)

java旧题复习
7-4 sdust-Java-字符串集合求并集 (20分)
从键盘接收N个英文字符串(其中不同的字符串数量大于10),从头开始取5个不同的字符串放入一个集合S1,然后接着取5个不同的字符串放入另一个集合S2,按照字母顺序输出S1和S2的并集中的每个字符串(字符串区分大小写)

输入格式:
一行以空格分开的英文字符串(不同的字符串数量大于10)。

输出格式:
按照字母顺序(先比较字符串首字母,首字母相同的比较字符串第二个字母,以此类推)输出的S1和S2并集的字符串。

输入样例:

android python java javaee javase database java jsp servlet java algorithm junit

输出样例:

algorithm
android
database
java
javaee
javase
jsp
python
servlet

ans:

import java.util.*;
public class Main {
    
    

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		
		Set<String> s1=new HashSet<>();
		Set<String> s2=new HashSet<>();
		
		while(s1.size()<5) {
    
    //只要不足5个就一直输入
			s1.add(in.next());
		}
		
		while(s2.size()<5) {
    
    //只要不足5个就一直输入
			s2.add(in.next());
		}
		
		Set<String> s3=new HashSet<>();//s3为s1与s2的并集
		
		for(String ss: s1) {
    
    
			s3.add(ss);
		}
		
		for(String ss:s2) {
    
    
			s3.add(ss);
		}
		
		String[] arr=new String[s3.size()];//将s3放到arr中
		int len=0;
		for(String ss:s3) {
    
    
			arr[len++]=ss;
		}
		
		Arrays.sort(arr,new sortClass());//对字符串数组排序
		
		for(int i=0;i<arr.length;i++) {
    
    //输出
			System.out.println(arr[i]);
		}
	}
}

class sortClass implements Comparator<String>{
    
    //sortClass
	public int compare(String s1,String s2) {
    
    
		return s1.compareTo(s2);
	}
}

猜你喜欢

转载自blog.csdn.net/timelessx_x/article/details/111905312