如何跟踪哪个对象属于哪个对象?

时间:2015-11-11 19:30:56

标签: java oop design-patterns data-structures

免责声明:这是一个学校项目,但教授说可以寻求帮助。

该项目是模拟交通网格。我正在研究的部分是跟踪哪辆车在哪条路上。道路是包含汽车的阵列列表。 我制作了一个包含所有道路的道路处理程序(数组列表)。

public void checkPositionOnRoad(){
    if(this.getPosition() > RoadHandler.currentRoad.getLength()-this.getCarLength()){
        RoadHandler.currentRoad.remove(this);
        Road nextRoad = moveToNextRoad(RoadHandler.currentRoad);
        nextRoad.accept(this);
    }
}

问题在于我不知道如何跟踪" currentRoad"。走下一条路很容易,因为我可以说

nextroad(Road currentRoad); 

我只是抓住currentRoad的索引+ 1。

最终目标是让汽车完成它的道路,然后继续前进到RoadHandler跟踪的道路阵列中的下一个道路。因此,当汽车行驶时,它会检查它在路上的位置。一旦它完成了它的道路,它就会从当前的道路中走出来,并将自己添加到下一道路上。

public void run(double time) {
    checkPositionOnRoad();
    position += velocity;
}

此外,我想重置汽车在新路上的位置。 checkPositionOnRoad和run方法在Car类中,nextRoad方法在RoadHandler类中。

1 个答案:

答案 0 :(得分:0)

易。创建一个POJO类来表示汽车对象。并在该类中创建一个名为currentRoad的属性。喜欢这个

String currenRoad;

每次开车进入新路时,都应更改当前道路属性。这意味着您需要创建一个POJO类来表示道路对象。在编码之前一定要记住设计问题