java循环终止问题

在类里面定义了一个二维数组,以及一个duru函数

img
在main函数中,用下图方法进行输入数据

img
循环没问题,但第一次输入后,读到m.duru(a,i,j)这行时,程序就结束了,

img

大概就是这样,这是什么地方出来问题

你licheng 定义的二维数组为空,new HashMap()没有大小, 数组不能动态扩展的,如果要,用ArrayList把

这么点代码一张图放出来可以吗 或者直接把代码放出来 程序数组下标越界了 查看代码逻辑 或者m中的数据

数组下标越界问题,map中必须先初始化数据;
这句数组定义,必须是map中先有数据,因为decent ,a都是全局变量,在创建对象时,map集合decent 中初始化为空数组,所以size为0,数组a的大小就被初始化为0了,所以后面的执行就报数组越界了

private Map<Integer, String> decent = new HashMap<>();
 int[][] a = new int[decent.keySet().size()][decent.keySet().size()];