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

标签 java arrays union nested-loops

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

这是我迄今为止的尝试:

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/

相关文章:

java - arquillian jboss as7 托管和 jacoco - jacoco.exec 文件为空

java - null 和 empty 之间的区别 ("") Java String

JAVA:填充数组然后使用for循环显示

javascript - 选择一个随机的 json 对象

java - Spring 安全: How to persist each anonymous user?

java - 如何在java中删除空格后的字符串

python-3.x - 如何在 Python 中重新排列字节数组中的字节?

mysql - Union all 似乎没有按预期工作。返回更少的行

mysql - 如何从mysql中另外两个表的并集中不存在的表中选择所有记录

mysql - 将两个SQL结果组合成一行不同列名的结果集