关于java中哈夫曼树中创建哈夫曼树---循环报错数组下标越界

在调用创建哈夫曼树方法时,当最后一层循环时 判断条件second!=-1 报错数组下标越界

 

selectMini方法  加上红色框这一段

你报错的位置在selectMini中,而且报错的行数和你截图的行数不一样,重新编译看看

如果不行就断点到selectMini中看length!=0时是否出现第一个循环没给mini赋值就执行了第二个循环的情况

这样就导致arrays[mini]  mini为-1

你看报错第一句是定位到 selectMini 里面 92行,重点关注这一行,打断点调试

是的 最后一层 mini为-1

请问应该如何修改呢?

楼上那位仁兄已经说了,看下第一个循环是不是没给mini赋值

感谢!