java结构体问题 基础算法题-哪里错啦

//如果有个二维数组代表迷宫如下,0表示道路,2表示墙壁:
//
//假设老鼠会从索引(1,0)开始,请使用程序找出老鼠如何跑至索引
//
//(6,5)位置
public class Day401ArrayMaze {
    public static void main(String[] args) {
        int[][] maze = {{2,2,2,2,2,2,2},
                        {0,0,0,0,0,0,2},
                        {2,0,2,0,2,0,2},
                        {2,0,0,2,0,2,2},
                        {2,2,0,2,0,2,2},
                        {2,0,0,0,0,0,2},
                        {2,2,2,2,2,0,2},
        };

        int x,y;
        int i = 1;
        int j = 0;
        for (int k = 0; k < 10; k++) {
            if (maze[i][j+1]==0){
                i = i;
                j = j++;
                System.out.println("路");
            }else if (maze[i+1][j]==0){
                i = i++;
                j = j;
                System.out.println("墙");
            }else{
                System.out.println("小老鼠没能走出迷宫");
            }

        }if (i==6&&j==5){
            System.out.println("小老鼠走出迷宫了");
        }


    }

}
//运行结果
路
路
路
路
路
路
路
路
路
路

 

你i和j的值没有改变,原地打转。去看一下前置自增和后置自增。

你的数组是7*7的,你的k能取到9,你确定不会越界吗?还有。建议你看看走迷宫的思路,你只考虑向下和向右的情况,没有考虑到如果不能向下和向右,你怎么办.