从键盘接收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
答案
import java.util.Scanner;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String[] arr = str.split("\\s+");
TreeSet<String> treeSet1 = new TreeSet<String>();
TreeSet<String> treeSet2 = new TreeSet<String>();
int i;
for (i = 0; i < arr.length; i++) {
treeSet1.add(arr[i]);
if (treeSet1.size() == 5){
break;
}
}
for (int j = i +1 ; j < arr.length; j++) {
treeSet2.add(arr[j]);
if (treeSet2.size() == 5){
break;
}
}
treeSet1.addAll(treeSet2);
for (String s:treeSet1){
System.out.println(s);
}
}
}