这样的两个二维数组怎么合成一个   比如 第一个是   【19】【4】  第二个是【25】【6】  我想把他们  的 第二维 【4】  跟【6】  合成 一个 也就是变成【10】 而    【19】 跟【25】   全变成【25】   也就是说  第一个是19个数组 第二个数25个数组 两个合并的时候  合到20的 时候  25还有数 但19没有了  19也继续输出成空  而25的  继续一起输出  那位大侠帮帮忙  急用 。。   本人 基本不太好 呵呵   

解决方案 »

  1.   


    public class Test
    {
    public static void main(String... args) {
    int[][] arr1 = new int[19][4];
    int[][] arr2 = new int[25][6];
    int[][] arr3 = new int[25][10];
    System.out.println(arr1.length);
    for(int i = 0; i < arr3.length;i++) {
    int j = 0;
    if(i < 19)
    for(j = 0; j < arr1[0].length;j++) {
    arr3[i][j]=arr1[i][j];
    }
    else 
    for(j = 0; j < arr1[0].length;j++) {
    arr3[i][j]=0;
    }
    for(int k = j; k < arr3[i].length; k++) {
    arr3[i][k]= arr2[i][arr3[i].length-arr2[i].length];
    }
    }
    }
    }
      

  2.   

    public class Test
    {
    public static void main(String... args) {
    int[][] arr1 = new int[][] {{1,2,3},{2,3,4},{5,6,7}}; // 3.3
    int[][] arr2 = new int[][] {{1,2,3,4},{2,3,4,5},{5,6,7,8},{3,4,5,6}}; // 4,4
    int[][] arr3 = new int[4][7];
    System.out.println(arr1.length);
    for(int i = 0; i < arr3.length;i++) {
    int j = 0;
    if(i < arr1.length)
    for(j = 0; j < arr1[0].length;j++) {
    arr3[i][j]=arr1[i][j];
    }
    else 
    for(j = 0; j < arr1[0].length;j++) {
    arr3[i][j]=0;
    }
    for(int k = j; k < arr3[i].length; k++) {
    arr3[i][k]= arr2[i][k - arr1[0].length];
    }
    }
    for(int[] arr:arr3) {
    for(int i : arr) {
    System.out.print(i + " " );
    }
    System.out.println("");
    }
    }
    }对不起有点问题,修改了一下:
    1 2 3 1 2 3 4
    2 3 4 2 3 4 5
    5 6 7 5 6 7 8
    0 0 0 3 4 5 6
      

  3.   


    package day19;public class Test2 {
    public Object[][] arrayConflate(Object[][] arr1,Object[][] arr2){
    Object[][] arr=new Object[Math.max(arr1.length, arr2.length)][arr1[0].length+arr2[0].length];
    if(arr1.length>=arr2.length){
    for(int i=0;i<arr2.length;i++){
    for(int j=0;j<arr1[0].length;j++){
    arr[i][j]=arr1[i][j];
    }
    for(int j=0;j<arr2[0].length;j++){
    arr[i][j+arr1[0].length-1]=arr1[i][j];
    }
    }
    for(int i=arr2.length;i<arr1.length;i++){
    for(int j=0;j<arr1[0].length;j++){
    arr[i][j]=arr1[i][j];
    }
    }
    }else{
    for(int i=0;i<arr1.length;i++){
    for(int j=0;j<arr1[0].length;j++){
    arr[i][j]=arr1[i][j];
    }
    for(int j=0;j<arr2[0].length;j++){
    arr[i][j+arr1[0].length]=arr2[i][j];
    }
    }
    for(int i=arr1.length;i<arr2.length;i++){
    for(int j=0;j<arr2[0].length;j++){
    arr[i][j]=arr2[i][j];
    }
    }
    }
    return arr;
    }
    public static void main(String[] args) {
    Object[][] arr1=new Object[19][4];
    Object[][] arr2=new Object[25][6];
    for(int i=0;i<arr1.length;i++){
    for(int j=0;j<arr1[0].length;j++){
    arr1[i][j]="1";
    }
    }
    for(int i=0;i<arr2.length;i++){
    for(int j=0;j<arr2[0].length;j++){
    arr2[i][j]="2";
    }
    }
    Test2 t=new Test2();
    Object arr[][]=t.arrayConflate(arr1,arr2);
    for(int i=0;i<arr.length;i++){
    for(int j=0;j<arr[0].length;j++){
    System.out.print(arr[i][j]);
    }
    System.out.println();
    }
    }}结果1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    1111222222
    222222nullnullnullnull
    222222nullnullnullnull
    222222nullnullnullnull
    222222nullnullnullnull
    222222nullnullnullnull
    222222nullnullnullnull
      

  4.   

    import java.util.*;public class Test7{
    public static int[][] mergeArray(int[][] arr1,int[][] arr2){
    int[][] result=new int[Math.max(arr1.length,arr2.length)][];
    int i=0,j=0,k=0;
    for(;i<arr1.length&&j<arr2.length;i++,j++,k++){
    result[k]=new int[arr1[i].length+arr2[i].length];
    System.arraycopy(arr1[i],0,result[k],0,arr1[i].length);
    System.arraycopy(arr2[j],0,result[k],arr1[i].length,arr2[j].length);
    }
    for(;i<arr1.length;i++,k++){
    result[k]=new int[arr1[i].length];
    System.arraycopy(arr1[i],0,result[k],0,arr1[i].length);
    }
    for(;j<arr2.length;j++,k++){
    result[k]=new int[arr2[j].length];
    System.arraycopy(arr2[j],0,result[k],0,arr2[j].length);
    }
    return result;
    }

    public static void printArray(int[][] arr){
    for(int i=0;i<arr.length;i++){
    for(int j=0;j<arr[i].length;j++){
    System.out.printf("%4d",arr[i][j]);
    }
    System.out.println();
    }
    }

    public static void main(String[] args){
    Random rand=new Random();
    int[][] arr1=new int[25][6];
    int[][] arr2=new int[19][4];
    for(int i=0;i<arr1.length;i++){
    for(int j=0;j<arr1[i].length;j++){
    arr1[i][j]=rand.nextInt(100);
    }
    }
    for(int i=0;i<arr2.length;i++){
    for(int j=0;j<arr2[i].length;j++){
    arr2[i][j]=rand.nextInt(100);
    }
    }
    System.out.println("arr1");
    printArray(arr1);
    System.out.println("arr2");
    printArray(arr2);
    System.out.println("arr1+arr2");
    int[][] arr3=mergeArray(arr1,arr2);
    printArray(arr3);
    }}F:\java>java Test7
    arr1
      46  66  60  53  13  91
      22  54  86   6  49  78
      48   3  14  77   5  54
      95  99  70  76  50  15
      48  88  16  48  68  44
       0  74  15  13  35  45
      32  58  94  89  50  98
      56  39  87  96  74  59
      35  65   9  99  68  81
      22  72   5  94  46  43
      58   2  29  84  75  63
      25  71  40  90  76  68
       6  38  62  45  39  11
      41  34  98  87  88  86
      58  32  39  81   5  28
      89  22  69  95  88  40
      26  88  78  32  39  23
      84  30  87  89  56  25
      64  20  56  68  58  78
      63   8  63  87  53  44
      55   9   2  53  12  93
      56  42  32   6  24  99
      89   8  44  42  55  63
      76  31  53  23  83  91
       7  46  10  92  96  96
    arr2
       7   0  91  15
      32  55  72  78
      43  42  57   8
      41  50  80  87
      14  38  12  93
      92  31  74  88
      22  30   2  34
      74  31  68  25
      22  77   1  70
      79  89   0  55
      79  97  77  99
      52  34  85  62
      16  45  57  51
      32  92  81  14
      25  21  65  82
      65   5  13  28
      39  79  22   6
      11  18   2  24
      41  89  12  85
    arr1+arr2
      46  66  60  53  13  91   7   0  91  15
      22  54  86   6  49  78  32  55  72  78
      48   3  14  77   5  54  43  42  57   8
      95  99  70  76  50  15  41  50  80  87
      48  88  16  48  68  44  14  38  12  93
       0  74  15  13  35  45  92  31  74  88
      32  58  94  89  50  98  22  30   2  34
      56  39  87  96  74  59  74  31  68  25
      35  65   9  99  68  81  22  77   1  70
      22  72   5  94  46  43  79  89   0  55
      58   2  29  84  75  63  79  97  77  99
      25  71  40  90  76  68  52  34  85  62
       6  38  62  45  39  11  16  45  57  51
      41  34  98  87  88  86  32  92  81  14
      58  32  39  81   5  28  25  21  65  82
      89  22  69  95  88  40  65   5  13  28
      26  88  78  32  39  23  39  79  22   6
      84  30  87  89  56  25  11  18   2  24
      64  20  56  68  58  78  41  89  12  85
      63   8  63  87  53  44
      55   9   2  53  12  93
      56  42  32   6  24  99
      89   8  44  42  55  63
      76  31  53  23  83  91
       7  46  10  92  96  96F:\java>
      

  5.   

    package cn.com.syq.ss;public class Test {
    public static void main(String[] args) {
    String[][] str1 = {{"1","2","3","4"},{"21","22","23","24"},{"31","32","33","34"}};
    String[][] str2 = {{"a1","a2","a3","a4"},{"b1","b2","b3","b4"},{"c1","c2","c3","c4"},{"d1","d2","d3","d4"}};
    String[][] str3 = new String[4][8];

    for(int i = 0;i < 8; i++){ //列
    for(int j = 0; j< 4; j++){ //行
    if(i<4 && j<3){ //把str1列入str3数组
    System.out.println(str1[2][3]);
    str3[j][i] = str1[j][i]; 
    }else if(i<4 && j>3){ //把空白处列入str3数组
    str3[j][i] = null;
    }else if(i>=4){
    str3[j][i] = str2[j][i-4]; //把str2列入str3数组 
    }
    }
    }

    for(int i = 0;i < 4;i++){
    for(int j = 0; j< 8; j++){
    System.out.print(str3[i][j]+"\t");
    }
    System.out.println("");
    }
    }
    }
    1 2 3 4 a1 a2 a3 a4
    21 22 23 24 b1 b2 b3 b4
    31 32 33 34 c1 c2 c3 c4
    null null null null d1 d2 d3 d4
      

  6.   

    public class ArraysMerging {
    public static void main(String[] args) {
    int[][] a = new int[19][4];
    int[][] b = new int[26][6];
    for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < a[i].length; j++) {
    a[i][j] = (int) (Math.random()*100);
    }
    }
    for (int i = 0; i < b.length; i++) {
    for (int j = 0; j < b[i].length; j++) {
    b[i][j] = (int) (Math.random()*100);
    }
    }

    System.out.println("the first array:");
    printArray(a);
    System.out.println("the second array:");
    printArray(b);
    System.out.println("the merged result:");
    printArray(merge(a, b));

    }

    public static int[][] merge(int[][] a, int[][] b) {
    int[][] result = new int[a.length>b.length?a.length:b.length][a[0].length+b[0].length]; 
    for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < a[i].length; j++) {
    result[i][j] = a[i][j];
    }
    }
    for (int i = 0; i < b.length; i++) {
    for (int j = 0; j < b[i].length; j++) {
    result[i][j+a[0].length] = b[i][j];
    }
    }
    return result;
    }

    static void printArray(int[][] array) {
    for (int i = 0; i < array.length; i++) {
    for (int j = 0; j < array[i].length; j++) {
    System.out.print(array[i][j]+"\t");
    }
    System.out.println();
    }
    }
    }
      

  7.   

    一个测试输出:
    the first array:
    89 60 17 15
    12 20 7 33
    85 22 91 45
    51 64 14 94
    61 11 45 62
    81 56 23 44
    85 74 6 82
    82 62 94 24
    22 32 94 95
    77 17 66 74
    55 36 53 84
    50 42 29 62
    76 34 6 35
    45 60 97 88
    97 14 35 9
    58 14 4 13
    61 52 90 53
    80 9 36 53
    89 89 85 1
    the second array:
    67 40 62 29 70 25
    36 82 27 66 46 84
    71 81 45 22 47 55
    35 96 57 99 30 35
    29 4 72 45 16 51
    77 14 76 2 62 21
    49 99 24 78 55 4
    0 76 57 12 51 41
    51 26 46 58 42 36
    2 0 54 76 79 84
    7 82 62 63 63 85
    2 28 9 70 2 53
    0 9 53 50 20 39
    16 87 66 8 46 78
    80 17 43 82 69 19
    66 13 56 22 49 52
    22 87 69 40 47 14
    96 17 94 25 76 54
    85 37 29 92 39 6
    55 23 35 17 66 74
    61 13 33 67 88 3
    67 24 76 0 83 8
    97 66 14 3 83 40
    73 34 6 2 26 29
    54 66 76 74 74 84
    98 48 7 20 78 74
    the merged result:
    89 60 17 15 67 40 62 29 70 25
    12 20 7 33 36 82 27 66 46 84
    85 22 91 45 71 81 45 22 47 55
    51 64 14 94 35 96 57 99 30 35
    61 11 45 62 29 4 72 45 16 51
    81 56 23 44 77 14 76 2 62 21
    85 74 6 82 49 99 24 78 55 4
    82 62 94 24 0 76 57 12 51 41
    22 32 94 95 51 26 46 58 42 36
    77 17 66 74 2 0 54 76 79 84
    55 36 53 84 7 82 62 63 63 85
    50 42 29 62 2 28 9 70 2 53
    76 34 6 35 0 9 53 50 20 39
    45 60 97 88 16 87 66 8 46 78
    97 14 35 9 80 17 43 82 69 19
    58 14 4 13 66 13 56 22 49 52
    61 52 90 53 22 87 69 40 47 14
    80 9 36 53 96 17 94 25 76 54
    89 89 85 1 85 37 29 92 39 6
    0 0 0 0 55 23 35 17 66 74
    0 0 0 0 61 13 33 67 88 3
    0 0 0 0 67 24 76 0 83 8
    0 0 0 0 97 66 14 3 83 40
    0 0 0 0 73 34 6 2 26 29
    0 0 0 0 54 66 76 74 74 84
    0 0 0 0 98 48 7 20 78 74