java - 插入数组时出现 ArrayIndexOutOfBoundsException

标签 java arrays

我正在编写一个程序,在某些时候需要将两个不同长度的数组放入一个二维数组中。

有人知道为什么我在指定行收到 ArrayIndexOutOfBoundsException 吗?

String[][] proteinArray;

if(proteinsMomFinal.length > proteinsDadFinal.length)
{
    proteinArray = new String[proteinsMomFinal.length][2];
}
else
{
    proteinArray = new String[proteinsDadFinal.length][2];
}

for(int i = 0; i < proteinsMom.length; i++)
{
    proteinArray[i][0] = proteinsMomFinal[i];          // error is here
}

for(int i = 0; i < proteinsDad.length; i++)
{
    proteinArray[i][1] = proteinsDadFinal[i];
}

最佳答案

您应该在 for 语句中使用 ProteinsMomFinal。你怎么知道 ProteinsMom 和 ProteinsMomFinal 的长度相同?

for(int i = 0; i < proteinsMomFinal.length; i++)
{
    proteinArray[i][0] = proteinsMomFinal[i];          // error is here
}

关于java - 插入数组时出现 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072547/

相关文章:

java - 适用于 Mac OS X 的 Eclipse

c - 如何在 C 中声明可变大小的二维数组?

javascript - 为什么 JavaScript 允许数组语法访问属性?

javascript - 通过将鼠标悬停在数组 jquery 上进行迭代

arrays - 在 Kotlin 中创建通用二维数组

PHP根据一个字段的值将数组分成几组

java - 在 Java 中使用 JSON 进行 http POST 后的奇怪响应

java - 为什么这里是 "res.add(new ArrayList<>(list));"?

Java Mongo索引查询

java - cucumber.json 报告被重新运行场景报告覆盖