为什么java这样给二维数组赋值不行 20

如图,这样子跑编译上没有问题,但就是在红标步入下一行的时候就无法继续下一步... 如图,这样子跑编译上没有问题,但就是在红标步入下一行的时候就无法继续下一步 展开
 我来答
哔啪哩吧啦
2018-10-14
知道答主
回答量:4
采纳率:0%
帮助的人:5.1万
展开全部

从报错信息中可以看出数组越界了

java.lang.IndexOutofBoundsException:Invaild array range:4 to 4

说明数组长度为4,最大下标为3,但是代码运行过程中访问了下标为4的区域,造成了越界.

创建数组的代码为

int array[][] = new int[n-1][n-1];

根据debug信息可知n=5,即创建了一个4x4的二维数组,数组第一个为array[0][0],最后一个为arrary[3][3].

在打断点的那一行可以看出n-1=4,b+1=3,即访问了arrary[4][3],显然越界了.

可以尝试扩大数组或者根据自己的要求修改其他逻辑来改正错误.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式