US Bee
2021-04-01 10:19
采纳率: 89.5%
浏览 25

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("小老鼠走出迷宫了");
        }


    }

}
//运行结果
路
路
路
路
路
路
路
路
路
路
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • cnwanggf 2021-04-01 10:34
    最佳回答

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

    评论
    解决 2 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题