【问题标题】:Java: ArrayList cannot find symbolJava:ArrayList 找不到符号
【发布时间】:2014-11-29 12:40:14
【问题描述】:

我正在研究一个机器人迷宫,机器人可以在其中找到目标而不会撞到墙上。我知道我错过了一些事情或做错了一些事情(很可能是几件事哈哈),但我已经绞尽脑汁思考了几个小时,并尝试了几种替代方法。我很确定我的错误在于我声明ArrayList 的位置和方式。

任何帮助表示赞赏:)

我会发布编译错误消息的图片,但我没有 10 点声望点。本质上,有 10 条错误消息说它找不到 passageDirectionsnonwallDirections 的符号。

PS:我是一个初学者程序员,还在学习,所以解释你的答案,就好像你要向一个三岁的孩子解释它:)

i

【问题讨论】:

  • 想想你的 ArrayList 对象的范围。
  • @Tom 是的,是汤姆,如果你看一下 cmets,有人让我再发一次 :)

标签: java arraylist


【解决方案1】:

您的 passageDirections 变量是您的 passageExits 方法的本地变量。您无法通过其他方法访问它。

如果您想从类的所有方法中访问它,请将其设为实例变量。

同样适用于nonwallDirections,它是nonwallExits 方法的本地方法。

public class Explorer2 {
    ...
    private ArrayList<Integer> nonwallDirections = new ArrayList<Integer>();
    private ArrayList<Integer> passageDirections = new ArrayList<Integer>();
    ...
}

【讨论】:

  • 如何使它成为实例变量?
  • 成功了!但现在我有另一个问题。在死胡同和走廊处,将只有一个通道在通道方向数组列表中。我如何返回这个唯一的方向?
【解决方案2】:

您很想将通道方向和通道存在作为变量访问,但它们是方法。您必须创建一个私有字段变量,例如

private int passageDirections;

并更新 PassageDirections 方法中的字段,以便以您尝试的方式访问它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 2013-09-12
    • 2013-06-06
    • 2017-10-01
    • 2015-05-10
    • 2014-01-05
    • 2022-01-17
    相关资源
    最近更新 更多