如果您试图获取所有相邻单元格并对其进行处理(例如添加它们),那么您需要进行某种边界检查,例如从中进行一些修改可能会起作用:
for (int i = 0; i < numOfRows; i++) { for (int j = 0; j < numOfCols; j++) { // check all bounds out of range: int iMin = Math.max(0, i - 1); int iMax = Math.min(numOfRows - 1, i + 1); int jMin = Math.max(0, j - 1); int jMax = Math.min(numOfCols - 1, j + 1); // loop through the above numbers safely for (int innerI = iMin; innerI <= iMax; innerI++) { for (int innerJ = jMin; innerJ <= jMax; innerJ++) { if (i != innerI && j != innerJ) { // do what needs to be done } } } }}注意:代码尚未经过编译或测试,主要是为了向您展示可以做什么的想法,而不是复制粘贴的解决方案



