用java写一段从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,去掉在两组整数中都出现的整数,并按从大到小顺序排序输出(即两组整数集异或)。
时间: 2023-09-13 21:08:30 浏览: 196
好的,这是一个比较简单的编程问题。以下是Java代码实现:
```java
import java.util.*;
public class MergeAndSort {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入第一组整数
String[] numsStr1 = scanner.nextLine().split(" ");
Set<Integer> numSet1 = new HashSet<>();
for (String numStr : numsStr1) {
numSet1.add(Integer.parseInt(numStr));
}
// 输入第二组整数
String[] numsStr2 = scanner.nextLine().split(" ");
Set<Integer> numSet2 = new HashSet<>();
for (String numStr : numsStr2) {
numSet2.add(Integer.parseInt(numStr));
}
// 取出两组整数集的异或集并转成数组
List<Integer> numsList = new ArrayList<>();
for (int num : numSet1) {
if (!numSet2.contains(num)) {
numsList.add(num);
}
}
for (int num : numSet2) {
if (!numSet1.contains(num)) {
numsList.add(num);
}
}
int[] nums = new int[numsList.size()];
for (int i = 0; i < nums.length; i++) {
nums[i] = numsList.get(i);
}
// 排序并输出
Arrays.sort(nums);
for (int i = nums.length - 1; i >= 0; i--) {
System.out.print(nums[i] + " ");
}
}
}
```
希望这个代码能够帮到你。
阅读全文