题目要求:计算两个集合的交集
解题思路:
- 默认给出两个数组 并赋予初始值
- 用循环遍历比较两个数组
- 用第三个数组存 比较出来相等的值
- 输出第三个数组 即 交集
import java.util.Scanner; public class E201_05_02_数组交集 { public static void main(String[] args) { System.out.printf("请输入数组 A 的长度,然后按顺序输入数据:"); Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int []arrA = new int[n]; for (int i = 0; i <n ; i++) { arrA[i] = scan.nextInt(); } System.out.printf("请输入数组 B 的长度,然后按顺序输入数据:"); int m = scan.nextInt(); int []arrB = new int[m]; for (int i = 0; i <m ; i++) { arrB[i] = scan.nextInt(); } int count=0;//算出相同的元素个数 int []arrC = new int[Math.max(n,m)]; for (int j = 0; j <Math.min(n,m) ; j++) { for (int i = 0; i <Math.max(n,m) ; i++) { if (arrB[j] == arrA[i] ){ arrC[count] = arrB[j]; count++; } } } for (int i = 0;i<count;i++) { System.out.printf("%d ",arrC[i]); } if (count == 0){ System.out.printf("没有交集!"); } } }
请输入数组 A 的长度,然后按顺序输入数据:4
1 2 3 4
请输入数组 B 的长度,然后按顺序输入数据:3
3 4 8
3 4