用java编写一个程序,实现下面功能,定义两个int类型数组,两个集合的差集定义如下: 集合A、B的差集,由所有属于A但不属于B的元素构成。 输入两个集合A、B,每个集合中元素都是自然数。求集合A、B的差集。
时间: 2024-02-13 09:03:03 浏览: 105
基于 C++构建 Qt 实现的 GDAL 与 PROJ4 的遥感图像处理软件课程设计
好的,这是一个实现求两个int类型数组的差集的Java程序:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入集合A,用空格隔开,回车键结束输入:");
String input1 = scanner.nextLine();
String[] inputs1 = input1.split(" ");
int[] A = new int[inputs1.length];
for (int i = 0; i < inputs1.length; i++) {
A[i] = Integer.parseInt(inputs1[i]);
}
System.out.println("请输入集合B,用空格隔开,回车键结束输入:");
String input2 = scanner.nextLine();
String[] inputs2 = input2.split(" ");
int[] B = new int[inputs2.length];
for (int i = 0; i < inputs2.length; i++) {
B[i] = Integer.parseInt(inputs2[i]);
}
int[] diff = getDifference(A, B);
System.out.println("集合A和集合B的差集为:" + Arrays.toString(diff));
}
public static int[] getDifference(int[] A, int[] B) {
int[] diff = new int[A.length];
int index = 0;
for (int i = 0; i < A.length; i++) {
boolean flag = false;
for (int j = 0; j < B.length; j++) {
if (A[i] == B[j]) {
flag = true;
break;
}
}
if (!flag) {
diff[index++] = A[i];
}
}
return Arrays.copyOfRange(diff, 0, index);
}
}
```
运行程序后,控制台会提示用户输入两个集合A、B,用户输入一串数字,程序会将其存储在int类型数组中,并求出两个集合的差集,将结果输出到控制台。
阅读全文