gpt4 book ai didi

java - 将两个数组合并为一个

转载 作者:行者123 更新时间:2023-12-01 23:05:38 26 4
gpt4 key购买 nike

我正在尝试将两个数组合并为一个大数组。但我不明白为什么它不起作用。

这是我的代码:

     public class TestaCombine {

private int[] arrayX = new int[20];
private int[] arrayY = new int[6];

private int[] ratings;


public void getRanks(){

arrayX[0] = 3;
arrayX[1] = 4;
arrayX[2] = 2;
arrayX[3] = 6;
arrayX[4] = 2;
arrayX[5] = 5;

arrayY[0] = 9;
arrayY[1] = 7;
arrayY[2] = 5;
arrayY[3] = 10;
arrayY[4] = 6;
arrayY[5] = 8;

}


public void combine(){

ratings = new int[arrayX.length + arrayY.length];
System.arraycopy(arrayX, 0, ratings, 0, arrayX.length);
System.arraycopy(arrayY, 0, ratings, arrayX.length, arrayY.length);

Arrays.sort(ratings);

}


public void print(){

System.out.println(Arrays.toString(ratings));

}

public static void main(String[] args){

TestaCombine tc = new TestaCombine();

tc.getRanks();
tc.combine();
tc.print();

}

我得到的输出如下所示:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 3, 4, 5, 5, 6, 6, 7, 8, 9 , 10]

不明白所有的 0 从何而来。

最佳答案

请注意,arrayX 的大小为 20。默认情况下,int 在 Java 中的值为 0。请参阅JLS - 4.12.5. Initial Values of Variables :

For type int, the default value is zero, that is, 0.

所以当你这样做时:

System.arraycopy(arrayX, 0, ratings, 0,  arrayX.length);

它也会复制零。

关于java - 将两个数组合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22807607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com