【问题标题】:create new objects using for loop but linking objects through constructors使用 for 循环创建新对象,但通过构造函数链接对象
【发布时间】:2013-05-25 00:36:02
【问题描述】:

我正在尝试创建一个 for 循环来执行以下操作。道路类有一个构造函数 基本上将所有新对象链接在一起。我想创建一个 for 循环来执行此操作,以便创建更多道路,例如 50 条。

Road r3 = new Road();
Road r2 = new Road(r3);
Road r1 = new Road(r2);

【问题讨论】:

  • 你没有提到你使用的是什么语言,这会让人们更难完整回答。

标签: loops object for-loop


【解决方案1】:
    int count = 50;
    Road prev = null;
    for (int i = 0; i < count; i++) {
      prev = new Road(prev);
    }

【讨论】:

  • @PeteBel 谁说过 Java?
  • @JaredNielsen 对象仍然存在,因为每个新对象的构造函数都保存了对前一个对象的引用。在循环结束时,prev 指向Road 对象链表的末尾。
  • 确实有效。实际上它似乎没有。对不起我不知道。这对我有帮助。我真的是一个试图学习东西的初学者。非常感谢您的回复。
【解决方案2】:

您需要使用某种集合,例如数组。确切的实现和语法取决于您使用的语言。

当你有一个数组时,你可以循环它,并为每个项目(在索引i)创建下一个项目(在索引i+1)。

【讨论】:

    【解决方案3】:
    Road road = new Road(); //first unlinked road
    
    ArrayList<Road> roads = new ArrayList<Road>(); 
    roads.add(road); //adds first Road
    
    for(int i = 0; i < 49; i++) {
        roads.add(new Road(roads.get(i))); //adds other Roads with reference to last road in ArrayList
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-27
      • 2013-09-04
      • 1970-01-01
      • 2020-03-29
      • 2023-03-21
      • 2015-10-18
      • 2013-10-05
      • 1970-01-01
      相关资源
      最近更新 更多