请问,应该添加一个什么条件用来给最后一列赋值?我注释里的条件会造成全体赋值1,绷不住了

img

public static void main(String[] args) {
    int[][] map = new int[8][7];
    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[i].length; j++) {
            
            if (i == 0 || j == 0 || i == map.length - 1 ||) {//map[i][map[i].length-1]==map[i][j]
                map[i][j] = 1;
            }
        }
        System.out.println();
    }
    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[i].length; j++) {

            System.out.print(map[i][j] + "\t");
        }
        System.out.println();
    }
}
public static void main(String[] args) {
    int[][] map = new int[8][];
    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[i].length; j++) {
            map[i] = new int[7];
            if (i == 0 || j == 0 || i == map.length - 1 ||) {//map[i][map[i].length-1]==map[i][j]
                map[i][j] = 1;
            }
        }
        System.out.println();
    }
    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[i].length; j++) {
 
            System.out.print(map[i][j] + "\t");
        }
        System.out.println();
    }
}

【以下回答由 GPT 生成】

当你想要给最后一列赋值时,在判断条件中应该添加j == map[i].length - 1的条件。此外,为了避免将整个矩阵都赋值为1,需要在赋值语句中添加条件map[i][map[i].length-1]!=1。下面是修改后的代码:

public static void main(String[] args) {
    int[][] map = new int[8][7];

    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[i].length; j++) {
            if (i == 0 || j == 0 || (i == map.length - 1 && j == map[i].length - 1 && map[i][map[i].length-1]!=1)) {
                map[i][j] = 1;
            }
        }
    }

    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[i].length; j++) {
            System.out.print(map[i][j] + "\t");
        }
        System.out.println();
    }
}

这样修改后可以正确给最后一列赋值,而且保证整个矩阵不会被赋值为1。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^