将两个1D阵列转换为单个2D阵列

时间:2017-04-15 17:18:00

标签: java arrays multidimensional-array

我有2个1d数组,我试图将它们填充到JAVA中的单个2d数组中。

例如:

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 个答案:

答案 0 :(得分: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];
}

应该做的伎俩