您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

检查二维数组中的边界

检查二维数组中的边界

如果您试图获取所有相邻单元格并对其进行处理(例如添加它们),那么您需要进行某种边界检查,例如从中进行一些修改可能会起作用:

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
                }
            }
        }
    }
}

注意:代码尚未经过编译或测试,主要是为了向您展示可以做什么的想法,而不是复制粘贴的解决方

其他 2022/1/1 18:25:36 有517人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶