【问题标题】:NoSuchElementException error iterator anylogic [duplicate]NoSuchElementException 错误迭代器 anylogic [重复]
【发布时间】:2023-03-31 01:40:01
【问题描述】:

这是我的代码:

Iterator<H> iter = ((Main) getOwner()).eH.iterator();
    while (iter.hasNext()) {
        if (iter.next().z.c > p_l) {
            if (r) {
                if (iter.next().R) {
                    if (iter.next().p <= 0.7 * s && iter.next().c_l >= p_l) {
                        if (s_h == null) {
                            s_h = iter.next();
                        } else {
                            if (iter.next().p <= s_h.price) {
                                s_h = iter.next();
                            }
                        }
                    }
                }
            }
        }
    }

但我收到此错误:

Error during model startup:
java.util.NoSuchElementException
java.util.NoSuchElementException
    at java.util.ArrayList$Itr.next(ArrayList.java:839)
    at d_w.P.I(P.java:681)
    at d_w.P.checkIfI(P.java:649)
    at d_w.Main.initModelStructure(Main.java:1072)
    at d_w.Main.onStartup(Main.java:2775)
    at d_w.Main.start(Main.java:2765)
    at com.anylogic.engine.Engine.start(Unknown Source)
    at com.anylogic.engine.ExperimentSimulation.r(Unknown Source)
    at com.anylogic.engine.ExperimentSimulation.run(Unknown Source)
    at d_w.Simulation.executeShapeControlAction(Simulation.java:111)

我真的不知道为什么我会收到这个错误任何建议都非常感谢提前感谢

【问题讨论】:

  • 以及你想用这段代码实现什么!
  • 这只是更大代码的一部分 我正在尝试模拟代理从可用房屋中寻找房屋的行为 抱歉,我没有使用完整的单词,因为它是考试,我没有不希望我的学生看到代码:)
  • 你调用了 itr.next() 这么多次,确保你的集合中有足够数量的项目来附加迭代器。
  • 谢谢大家和chetan Kinger

标签: java anylogic


【解决方案1】:

调用.next() 将检索下一个元素并推进迭代器。您有多个 .next() 调用,但根本没有检查是否有下一个元素。

如果您想继续使用 .next() 最初返回的相同元素,请将第一个 .next() 替换为 H next = iter.next(),然后访问 next 变量。

【讨论】:

    【解决方案2】:

    每次调用 next() 时都不会得到相同的元素,而是遍历迭代器的下一个元素。您应该将此值保存到变量中并使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 2012-10-14
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      • 2015-01-01
      • 1970-01-01
      相关资源
      最近更新 更多