用Java编写自行输入两个集合A、B,验证集合的并、交、相对补和对称差运算。
时间: 2024-01-25 13:03:30 浏览: 79
好的,以下是一个示例代码,可以实现输入两个集合A、B,并进行并、交、相对补和对称差运算。
```java
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class SetOperations {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入集合A
System.out.print("请输入集合A中的元素个数:");
int sizeA = scanner.nextInt();
Set<Integer> setA = new HashSet<Integer>();
System.out.println("请输入集合A中的元素:");
for (int i = 0; i < sizeA; i++) {
setA.add(scanner.nextInt());
}
// 输入集合B
System.out.print("请输入集合B中的元素个数:");
int sizeB = scanner.nextInt();
Set<Integer> setB = new HashSet<Integer>();
System.out.println("请输入集合B中的元素:");
for (int i = 0; i < sizeB; i++) {
setB.add(scanner.nextInt());
}
// 集合并运算
Set<Integer> unionSet = new HashSet<Integer>(setA);
unionSet.addAll(setB);
System.out.println("集合A和B的并集为:" + unionSet);
// 集合交运算
Set<Integer> intersectionSet = new HashSet<Integer>(setA);
intersectionSet.retainAll(setB);
System.out.println("集合A和B的交集为:" + intersectionSet);
// 集合相对补运算
Set<Integer> differenceSet = new HashSet<Integer>(setA);
differenceSet.removeAll(setB);
System.out.println("集合A相对于集合B的补集为:" + differenceSet);
// 集合对称差运算
Set<Integer> symmetricDifferenceSet = new HashSet<Integer>(setA);
symmetricDifferenceSet.addAll(setB);
Set<Integer> tmp = new HashSet<Integer>(setA);
tmp.retainAll(setB);
symmetricDifferenceSet.removeAll(tmp);
System.out.println("集合A和B的对称差集为:" + symmetricDifferenceSet);
scanner.close();
}
}
```
您可以根据提示输入集合A和B的元素,程序会自动计算并输出它们的并、交、相对补和对称差运算结果。希望能对您有所帮助!
阅读全文