Java 未填充ArrayList
我正在制作一个机器人迷宫,在那里机器人可以找到目标而不会撞到墙上 我的代码编译得很好,但是:Java 未填充ArrayList,java,arraylist,Java,Arraylist,我正在制作一个机器人迷宫,在那里机器人可以找到目标而不会撞到墙上 我的代码编译得很好,但是: 在死角处,机器人似乎试图朝着它所面对的方向前进,随后大量撞到墙壁上 在走廊,阵列列表是空的,我不知道为什么 非常感谢您的帮助:)您的passageExists方法将以整数形式返回存在的段落数。 因此,首先需要检查存在的通道数是否大于1,然后才能从arrayList中获得一些信息 也就是说,你可以这样说: if(passageExists(robot) > 0) passageDirect
- 在死角处,机器人似乎试图朝着它所面对的方向前进,随后大量撞到墙壁上
- 在
,走廊
是空的,我不知道为什么李>阵列列表
非常感谢您的帮助:)您的passageExists方法将以整数形式返回存在的段落数。 因此,首先需要检查存在的通道数是否大于1,然后才能从arrayList中获得一些信息 也就是说,你可以这样说:
if(passageExists(robot) > 0)
passageDirections.get(0);
墙壁也是如此。当你调用
走廊
时,据我所知,你没有调用passageExits
,这就解释了这一点……另外,在passageExits
和非墙壁出口
方法中,您正在无条件地向列表中添加方向-只有计数器增量是if
语句的一部分。正文周围需要大括号:if(condition){statement1;statement2;}
在调用deadend和corridor方法之前,需要调用passageExists和NowalleExists方法来填充这两个ArrayList。@Prateek我该怎么做<代码>返回PassageExit(robot).passageDirections.get(0)代码>?但是它需要一个返回语句?是的,所以你要做的是在你的走廊函数中,你说如果(passageExists(robot)>0)返回passageDirections.get(0)。像这样的。事实上,我建议不要让这两位ArrayList全球化,因为他们不是全球化的。它们采用了相应的方法。例如,passageDirections
ArrayList
在passageExits
方法中。但是,它不是编译:(.我做了以下操作:if(passageExits(robot)==1)返回passageDirections.get(0);
但是,编译时它说它缺少一个return
语句:(是的,因此您应该继续使用相同的方法,并从passageExists方法返回arrayList,而不是通道数。在走廊中,添加逻辑以检查存在的通道数是否大于0,返回第一个通道。如果返回arrayList,则我必须更改调用pa数的大部分代码ssageExits