将两个一维数组转换为一个二维数组

7

我有两个一维数组,我想把它们填充到一个二维数组中(JAVA语言)。

例如:

a[] = {2,7} 
b[] = {9,1} 

结果应该如下所示:
result[][] = {{2,9}, {7,1}}

这是我的代码

    import java.util.Arrays;
    import java.util.Scanner;

    public class Main {

public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.println("Enter Test Cases:\t");
    int t = sc.nextInt();
    int[] a;
    int[] b;
    int i, j, x;
    for (int k = 0; k < t; k++) {
        System.out.println("Enter 1st Array Limit:\t");
        int len = sc.nextInt();

        System.out.println("Enter 2nd Array Limit:\t");
        int len1 = sc.nextInt();
        a = new int[len];
        b = new int[len1];
        System.out.println("Enter Sum Value");
        x = sc.nextInt();
        System.out.println("Enter " + len + " elements:\t");
        for (i = 0; i < len; i++) {
            a[i] = sc.nextInt();
        }
        System.out.println("Enter " + len1 + " elements:\t");
        for (j = 0; j < len1; j++) {
            b[j] = sc.nextInt();
        }
        int [][] c = new int[len][2];
        for (i = 0; i < len; i++) {
            for (j = 0; j < len1; j++) {
                if (a[i] + b[j] == x) {
                    for(int l = 0; i < a.length; i++){
                        c[l][0] = a[i];
                        c[l][1] = b[j];
                    }
                }
            }
        }
        System.out.println(Arrays.deepToString(c));
    }
}
}

这仍然产生错误的输出。
我想找到所有给定总和的配对。
1个回答

5
int[] a = {2,7};
int[] b = {9,1};
int[][] c = new int[a.length][2];
for(int i = 0; i < a.length; i++){
    c[i][0] = a[i];
    c[i][1] = b[i];
}

应该可以解决问题。

1
按照您的建议操作,但仍未获得正确的输出。 - Ajinkya
1
尝试复制并粘贴此代码,并运行它(告诉我它输出了什么):public static void main(String[] args) { int[] a = {2,7}; int[] b = {9,1}; int[][] c = new int[a.length][2]; for(int i = 0; i < a.length; i++){ c[i][0] = a[i]; c[i][1] = b[i]; } System.out.println(Arrays.deepToString(c)); } - Elias Fyksen
1
[[2, 9], [7, 1]] - Ajinkya
这不是期望的输出吗? - Elias Fyksen
1
我正在尝试使这个条件为真,然后将这两个元素插入到数组a[i]+b[j]==sum中,然后插入到c[][]中; - Ajinkya
是的,那就是期望的输出。 - Ajinkya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接