2017-04-15 180 views
3

我有2个1d数组,我试图用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)); 
    } 
} 
} 

这仍然会产生错误的输出

我想找到Fin d与给定的总和所有对

回答

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]; 
} 

应该做的伎俩

+0

跟着你的建议仍然没有得到正确的输出 –

+1

尝试复制并粘贴此代码,并运行它(告诉我它输出): \t public static void main(String [] args){ \t \t int [] a = {2,7}; \t \t int [] b = {9,1}; \t \t int [] [] c = new int [a.length] [2]; (i = 0; i

+0

[[2,9],[7,1]] –

相关问题