首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带条件退出队列,集合过滤目的地

带条件退出队列,集合过滤目的地
EN

Stack Overflow用户
提问于 2020-05-07 07:49:07
回答 1查看 249关注 0票数 0

我正在模拟一个在AnyLogic的分配系统,在那里产品用不同的车辆在世界各地运输。

起初,这些产品是在许多工厂之一生产的。每个产品都有一个变量v_destination1 (String) taht显示下一个目的地。

代理(产品)在代理类型的“工厂”中,更具体地说是在队列块中。我想写一个代码,要求车辆进入工厂和皮卡产品。困难在于代码必须包含以下条件:

如果队列块中至少有10个具有相同目的地(变量

  • )的产品,则调用车辆。

这些产品代理应该离开队列块并输入一个拾取块。

我有以下的想法,但我不知道如何继续:

1.1使用队列中的所有产品创建集合(c_waitingTruck)

1.2 int count (c_waitingTruck, p -> p.v_destination1 ... ->这里我不知道如何写出正确的条件

if (count >= 10)检查是否达到至少10种产品的模具。

2.1使用队列中的所有产品创建集合(c_waitingTruck)

2.2 filter (c_waitingTruck, c -> c.v_destination1 ... -与1.2中的相同

2.3 if (filter.size() >= 10) {

有人能帮我吗?如果有任何建议,我会非常高兴的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-07 08:04:56

不要使用队列,使用名为等待的等待块。在“等待”块的开始输入中,检查该金额是否已满足。

代码语言:javascript
复制
List <Product> products=findAll(wait,a->a.v_destination1.equals(agent.v_destination1);
if(products.size()>=10){
    //call truck, however you do that
   // then release your products into the queue that comes before the pickup block
    for(Product p : products){
        wait.free(p);
    }
}

我没有测试这段代码,所以它可能有一个错误,但至少这就是我的想法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61652494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档