将两个一维数组转换为单个二维数组
问题描述:
我有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与给定的总和所有对
答
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];
}
应该做的伎俩
跟着你的建议仍然没有得到正确的输出 –
尝试复制并粘贴此代码,并运行它(告诉我它输出): \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
[[2,9],[7,1]] –