java – 是否可以在不使用返回类型的情况下连接两个int数组?

我正在处理的这个特殊问题如下:

ConcatArrays(int [] listA,int [] listB,int [] listC),没有返回类型.
1.该方法传递正式数组参数listA和listB,然后返回连接数组listC.
2. listC的第一部分包含与listA的相应元素相同的元素,第二部分包含与listB相同的元素. listC的长度是listA.length listB.length.

这就是我所拥有的,显然它不会起作用.是否可以在没有返回类型/删除列表c作为第三个参数的情况下执行此操作?

  public static void  ConcatArray(int[] listA, int[] listB, int[] listC) 
    {
         int aLen = listA.length ; 
         int bLen = listB.length;
         int cLen = listC[aLen + bLen];
    }

编辑:我很欣赏所有人的答案,我投了他们所有人.这是一个家庭作业,重新阅读之后,我相信不返回类型是错误的,因为他在问题1中说了什么.基本上说通过使用参数listB和ListA返回列表c.之前还有其他一些错别字,因为他已经纠正过了.他还为我们的测试类提供了array1和array2,但是没有数组3.

最佳答案
创建Java数组后,您无法更改其大小.您的代码不起作用,因为数组引用是按值传递的,而Java没有通过引用传递.

返回数组是在Java中解决这个问题的惯用方法:

public static int[]  ConcatArray(int[] listA, int[] listB) {
    int[] res = new int[listA.length + listB.length];
    ...
    return res;
}

您可以通过具有所需类型字段的可变类型伪造传递引用,如下所示:

class IntArrayRef {
    int[] array;
}

现在你可以像这样编写你的void方法:

public static void  ConcatArray(int[] listA, int[] listB, IntArrayRef res) {
    res.array = new int[listA.length + listB.length];
    ...
}

但是,如果你经历了这样做的麻烦,你也可以返回数组.

转载注明原文:java – 是否可以在不使用返回类型的情况下连接两个int数组? - 代码日志