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

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条回答 默认 最新

  • CPoet 2021-04-01 10:34
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 爱晚乏客游 2021-04-01 10:34
    关注

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

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 jsp,如何使用户名输出为中文(语言-javascript)
  • ¥15 PowerBI中如何做到按数值向下取数
  • ¥15 设计quartus maxⅡ :Verilog-FPGA(0
  • ¥15 windows server 2022 datacenter安全策略配置 没有权限问题
  • ¥20 寻找dspace有偿技术支持
  • ¥30 深度学习的模型融合问题
  • ¥20 数电实验Verilog编程
  • ¥15 机器人MATLAB仿真示教占内存过大
  • ¥15 JSR233已经使用但是仍无法将csv数据放到一个list里显示出来,如何解决?
  • ¥15 I350 Gigabit Network