Java 如何比较2个数组中的每个整数
这是我的任务: 假设U={1,…,10}。编写一个Java程序,让您从键盘输入一对集合a和B,然后计算并打印它们的并集和交集。请记住,A和B的集合必须是U(宇宙)集合的子集 现在我主要关心的是如何比较我拥有的两个数组中的每个索引。如果索引匹配,那么我需要它为真,否则如果它们不匹配,我需要它为假。我只是不知道如何比较两者,所以如果有人能给我一些指导,那就太好了。(我意识到我的代码中没有任何地方比较这两者,我只是不确定从哪里开始) 这是我的密码:Java 如何比较2个数组中的每个整数,java,arrays,Java,Arrays,这是我的任务: 假设U={1,…,10}。编写一个Java程序,让您从键盘输入一对集合a和B,然后计算并打印它们的并集和交集。请记住,A和B的集合必须是U(宇宙)集合的子集 现在我主要关心的是如何比较我拥有的两个数组中的每个索引。如果索引匹配,那么我需要它为真,否则如果它们不匹配,我需要它为假。我只是不知道如何比较两者,所以如果有人能给我一些指导,那就太好了。(我意识到我的代码中没有任何地方比较这两者,我只是不确定从哪里开始) 这是我的密码: import java.util.*; public
import java.util.*;
public class sets {
public static void main (String[] args) {
Scanner console = new Scanner(System.in);
//Declare the variables
int [] universe = new int[10];
//Ask the user for the numbers in set A
System.out.print("How many numbers do you want in the first set? ");
int num1 = console.nextInt();
int [] A = new int [num1];
int i = 0;
while (i < num1) {
System.out.print("Please enter an integer 1-10: ");
int numA = console.nextInt();
A[i++] = numA;
}
//Ask the user for the numbers in set B
System.out.print("How many numbers do you want in the second set? ");
int num2 = console.nextInt();
int [] B = new int [num2];
int j = 0;
while (j < num2) {
System.out.print("Please enter an integer 1-10: ");
int numB = console.nextInt();
B[j++] = numB;
}
System.out.println(Arrays.toString(A));
System.out.println(Arrays.toString(B));
}
}
import java.util.*;
公共类集合{
公共静态void main(字符串[]args){
扫描仪控制台=新扫描仪(System.in);
//声明变量
int[]宇宙=新int[10];
//向用户询问集合A中的数字
System.out.print(“您希望第一组中有多少个数字?”);
int num1=console.nextInt();
int[]A=新的int[num1];
int i=0;
而(i
声明两种方法
私有静态int[]联合(int[]s1,int[]s2)
及
专用静态int[]交叉口(int[]s1,int[]s2)
查看是否可以生成它们的返回值从传入的
int[]
值(即集合)
或者,您可以避免所有的麻烦,只需使用HashSet
而不是int[]
来表示您的设置。但我想你想自己做一切事情,这是
更好(因为这只是一个练习)。免责声明:因为这显然是一个家庭作业,所以我不会发布任何代码本身 您需要做的第一件事是定义本练习中使用的3个概念:
集合是一组元素,例如每个元素只存在一次
- 交叉点是
a或组
B中元素的组
集合
- 联合是
a和组
B中存在的元素的组
集合
- 说明集合a中是否存在元素E
- 将元素添加到
集合
[1,1,1]
因此,您的第一项工作应该是确保每个组仍然是一个集合,方法是在添加值之前检查集合的内容。它使用前面定义的第一个函数
一旦A和B都是集合
,您就需要为要求的每个函数找到一个算法
union算法非常简单:
- 循环要添加到联合中的每个组的元素,如果该元素不在集合中,请添加它
- 循环要添加到并集的每个组的元素,如果该元素不在集合中,并且存在于所有相交的组中,请添加它
所有这些都应该适合大约20行,30个顶部。为什么要使用阵列?集合。集合在你的情况下更合适。这正是我的教授想要使用的。添加一个函数
布尔isIn(int[]s,int value)
,可能应该使用它。我很感激,就像我说的,我只是在寻求指导,而不是答案。因为仅仅得到答案是没有帮助的。我会仔细看看你说的话,然后试着计算一下。非常感谢。