繁体   English   中英

二维数组的数组索引超出绑定异常

[英]Array index out of Bound exception for a 2d array

我正在声明一个列大小为零的二维数组。在获取输入时,我正在获取数组索引超出边界异常。 我不明白为什么?

Scanner s=new Scanner(System.in);
int arr[][]=new int[3][0];

for(int i=0;i<3;i++)
{

    for(int j=0;j<1;j++)
    {
        arr[i][j]=s.nextInt();
    }
}

请尝试:

int arr[][]=new int[3][1];

如果你想要一个长度为 1 的数组,你应该将它声明为:

new int[1];

这将创建一个可以在索引 0 处保存一个元素的数组。

您的代码使用第 0 列,因此您需要在声明中声明一列

int[][] arr = new int[3][1];

将 j<1 更改为 j<0 `

for(int j=0;j<0;j++)
{
    arr[i][j]=s.nextInt();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM