gpt4 book ai didi

使用嵌套循环的 Java Union 数组 2 int 数组

转载 作者:行者123 更新时间:2023-12-01 12:32:23 25 4
gpt4 key购买 nike

我想使用嵌套循环为两个整数数组创建一个联合数组。

这是我迄今为止的尝试:

import java.util.Scanner ;

public class array4 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);


System.out.print("Enter first array size:");
int size = input.nextInt();
int x[] = new int[size];


System.out.println("Enter first array elements:");
for (int i = 0; i < size; i++) {
x[i] = input.nextInt();


}
System.out.print("Enter second array size:");
int size2 = input.nextInt();
int y[] = new int[size2];
for (int i = 0; i < size2; i++) {
y[i] = input.nextInt();
}


System.out.println("Union");
for (int i = 0; i < size; i++) {
System.out.println(x[i]);
}

for (int i = 0; i < size2; i++) {
for (int z = 0; z < size; z++) {
if (y[i] != x[z]) {
System.out.println(y[i]);
}
}
}

}
}

最佳答案

假设我们将打印第二个数组中的所有数字,并且仅打印第一个数组中第二个数组中不存在的数字。所以

  1. 对于第一个数组中的每个元素
    1. 测试它是否存在于第二个数组中(迭代第二个数组中的元素并设置一些 boolean 标志,如 exists 为 true if x[i]==y[j] )
    2. 如果第二个数组中不存在元素,则打印它
  2. 迭代第二个数组中的元素
    1. 并打印它们

算法看起来像

for (int i = 0; i <= x.length; i++) {// "<=" is not mistake, 
// in last iteration we print all elements
// from second array
boolean exist = false;
for (int j = 0; j < y.length; j++) {
if (i < x.length) {
if (x[i] == y[j])
exist = true;
} else
System.out.println(y[j]);
}
if (!exist && i < x.length)
System.out.println(x[i]);
}

这个算法可能可以重写为更简单的东西,但我现在将其保留为这种形式。

关于使用嵌套循环的 Java Union 数组 2 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25840152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com