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);
}
}