0

我在编写下面的代码时犯了错误,但我没有得到 C[] 的结果,因为我想在 C[] 中同时查看 A[] 和 B[] 值!正如您在下面的代码中看到的那样,我尝试过但没有成功。

public class ascending {

/**
 * @param args
 */
//@SuppressWarnings("null")
public static void main(String[] args) {
    // TODO Auto-generated method stub

    int A [] = {1,2,3,4,5};
    int B [] = {6,7,8,9,10};
    int C[] = null;


    int la = A.length;
    int lb = B.length;
    int lc = A.length + B.length;

    System.out.print("ARRAYS in A: ");

    for(int x = 0; x<la;x++){
        System.out.print("  "+A[x]);
    }

    System.out.println(" ");

    System.out.print
    ("ARRAYS in B: ");


    for(int y=0;y<lb;y++){
        System.out.print(" "+B[y]);
    }

    System.out.println(" ");

    System.out.print("Arrays in C: ");

    for(int z = 0; z<lc; z++){
        System.out.print(" "+C[z]);
    }


    }


}
4

4 回答 4

2

你也不是

  • 分配C数组int[] C = new int[size]
  • C通过C[x] = A[y]或复制元素C[x] = B[y]

实际上,您根本没有使用C过,这就是为什么您没有遇到任何异常:如果您尝试访问该数组,您将得到一个NullPointerException(因为当前代码段中的 C 是null

于 2012-11-26T18:12:29.613 回答
2

查看C[] 中的A[]和值B[]

要在 中查看这些值C[],您必须做两件事:

  1. 为 分配内存C[]
  2. A[]将和的元素复制B[]C[].

由于这看起来很像家庭作业,所以我不会详细说明解决方案,让您自己解决。

于 2012-11-26T18:12:36.200 回答
0

一种简单的解决方案可以是:

int[] c = ArrayUtils.addAll(a, b);

使用Apache Commons Lang 库。

于 2012-11-26T18:13:37.057 回答
0

作为另一种选择,通过使 C 成为 2D 数组,您可以更轻松地进行迭代,并且不会花费额外的空间。

int[][] C = {A,B};

for(int i=0; i < C.length; i++)
{
   for( int j=0; j < C[i].length; j++)
        System.out.println(C[i][j]);
}
于 2012-11-26T18:13:51.897 回答