猿问

Java:使用 Java 的递归迷宫的代码错误

下面的这段代码是通过递归的迷宫,应该解决迷宫。它从三个不同的txt文件中读取S是开始,G是目标,X是屏障,O是空闲空间


GOOOOXO //maze1

XXOXOOX

OXOOOXX

XXXOOXO

XXXXOXX

SOOOOOX

XXXXXXX

XOOOOXO //maze2

XXOXOOG

OXOOOXX

XXXOOOX

XXXXOXX

SOOOOOX

XXXXXXX

XOOOOXO //maze3

XXOXOXG

OXOOOXX

XXXOOOX

XXXXOXX

SOOOOOX

XXXXXXX

这些是迷宫。maze1 和 maze2 有一个解决方案,但每次我运行它时,它都会返回“无法解决”。我不确定错误在哪里。

如果一切正常,迷宫 1 和迷宫 2 应该是可以解决的,但由于某种原因,到目前为止它们还不是。请帮助这是一个即将到期的项目,我无法弄清楚。


烙印99
浏览 154回答 1
1回答

PIPIONE

问题在于您是否在有效路径上的条件。第一个错误是,您正在检查数字 0 而不是大写字母 O。第二个错误是两个条件的组合。如果你从“S”开始,你显然不是在“O”。所以你的条件告诉你,你不在一条有效的道路上。检查应该是: if(!(maze[r][c] == 'O'|| maze[r][c] == 'S'))
随时随地看视频慕课网APP

相关分类

Java
我要回答