编写一个java函数 int same_set(int a[],int b[],int len), 该函数检查相等长度的两个数组是否包含相同的元素,若包含相同的元素, 则返回1,否则返回0,其中参数len是数组a与与数组b的元素个数。 不考虑元素的顺序,如果元素重复,重复次数也相同。在main函数中读入两个整数数组,测试该函数。 【输入形式】 从键盘输入两个数组,第一行输入数组元素个数,第二行输入第一个数组的各个值, 第三行输入第二个数组的各个值。 【输出形式】 如果两个数组包含的元素相同,打印1,否则,打印0。
时间: 2023-06-10 22:05:09 浏览: 152
好的,我明白了。以下是符合您要求的Java函数实现:
```
public static int same_set(int[] a, int[] b, int len) {
Set<Integer> setA = new HashSet<>();
Set<Integer> setB = new HashSet<>();
// 将数组元素添加到set中
for (int i = 0; i < len; i++) {
setA.add(a[i]);
setB.add(b[i]);
}
// 判断两个set是否相等
return setA.equals(setB) ? 1 : 0;
}
```
这个函数中,我们首先创建了两个HashSet对象,用于存放数组元素。然后将数组元素添加到相应的set中。最后,我们将两个set进行比较,看它们是否相同。如果相同,就返回1;不同则返回0。
在main函数中,您可以这样使用该函数:
```
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int len = scanner.nextInt();
int[] a = new int[len];
int[] b = new int[len];
// 读入数组a和数组b
for (int i = 0; i < len; i++) {
a[i] = scanner.nextInt();
}
for (int i = 0; i < len; i++) {
b[i] = scanner.nextInt();
}
// 测试same_set函数
int result = same_set(a, b, len);
System.out.println(result);
}
```
这个main函数中,我们首先从控制台读取数组元素个数len,然后分别读入两个整数数组a和b。接下来,我们调用same_set函数进行比较,并将结果输出到控制台。
阅读全文