gpt4 book ai didi

java - 展平不均匀数组 - 越界异常错误

转载 作者:行者123 更新时间:2023-11-29 03:23:14 25 4
gpt4 key购买 nike

我正在尝试展平这个数组:

int[][] arr = { {1, 2, 3},
{4, 5},
{6},
null,
{},
{7,8}};

我可以看到在前几个步骤中它填充了新数组,但随后我得到了越界异常错误。我不明白我的错误在哪里。

public static int[] concAr (int[][] arr) {
int countels=0;
for (int r = 0; r < arr.length; r++) {
if (arr[r] == null|| arr[r].length==0)
continue;
for (int c = 0; c < arr[r].length; c++) {
countels++;
}
}
int[] flatAr = new int[countels];
for(int i = 0; i < countels; i ++) {
if(arr[i]!=null) {
for(int j = 0; j < arr[i].length; j ++) {
flatAr[(i * arr.length) + j] = arr[i][j];
}
}
}
return flatAr;
}

最佳答案

下面的索引是错误的,因为数组长度不同

flatAr[(i * arr.length) + j] = arr[i][j];

在将 count 设置为零后使用它:

flatAr[count++] = arr[i][j];

关于java - 展平不均匀数组 - 越界异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22445396/

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