【发布时间】:2014-11-29 14:22:22
【问题描述】:
我正在研究一个机器人迷宫,机器人可以在其中找到目标而不会撞到墙上。我已经对我的代码进行了彻底的注释,希望它可以被理解。
在死胡同和走廊,passageDirectionsArrayList只有一个通道。我如何返回这个唯一的方向?
任何帮助表示赞赏:)
PS:我是一个初学者程序员,还在学习,所以解释你的答案,就好像你要向一个三岁的孩子解释它:)
【问题讨论】:
我正在研究一个机器人迷宫,机器人可以在其中找到目标而不会撞到墙上。我已经对我的代码进行了彻底的注释,希望它可以被理解。
在死胡同和走廊,passageDirectionsArrayList只有一个通道。我如何返回这个唯一的方向?
任何帮助表示赞赏:)
PS:我是一个初学者程序员,还在学习,所以解释你的答案,就好像你要向一个三岁的孩子解释它:)
【问题讨论】:
您可以使用passageDirections.get(0),它将返回列表中的第一个元素。
因为(我希望)您保证列表中只有一个元素,所以可以解决您的问题。
https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#get(int)
【讨论】:
java.lang.reflect.InvocationTargetException...Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0...
get任何元素(因为没有)。
您应该在调用之前检查大小以防止 IndexOutOfBoundsException
if (passageDirections.size() > 0)
passageDirections.get(0)
【讨论】:
NullPointerException,它会阻止IndexOutOfBoundsException。不过还是先检查一下还是不错的。