[英]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.