我正在声明一个二维数组,其列大小为零。同时输入将使数组索引超出绑定异常。我不明白为什么?
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();
}
}
答案 0 :(得分:1)
请尝试:
int arr[][]=new int[3][1];
如果要使用长度为1的数组,则应将其声明为:
new int[1];
这将创建一个可以容纳一个元素的数组,索引为0。
答案 1 :(得分:0)
您的代码使用第0列,因此您需要在声明中声明一列
int[][] arr = new int[3][1];
答案 2 :(得分:0)
将j <1更改为j <0`
for(int j=0;j<0;j++)
{
arr[i][j]=s.nextInt();
}