我创建一个带有一些属性(列)的电子表格;然后在Anylogic中创建一个代理(代理总数)并从DB加载它。运行模型。工作得很好,这说明我有一个有6个代理商的代理群体“产品”。(型号有FluidSource,管道,储罐,阀门,FluidDispose,所有基本配置)
现在我打开FluidSource,选择Custom并为Batch:products.get[0].productName
(productName是string类型的参数)。我也尝试过:
products[0];
products[0].productName;
products.get(0);
现在再跑..。在模型窗口中写着“绘制动画帧时出错.”(橙色块右上角)在model.Console中写着:创建模型过程中的错误:索引: 0,大小:0 java.lang.IndexOutOfBoundsException:索引: 0,大小:0。
我做错了什么?如何将FluidSource批处理分配给我的“产品”代理之一?
发布于 2020-04-20 10:24:09
问题在于初始化的顺序:您的FluidSource对象试图在填充代理之前访问products
填充。
使用此条件检查创建您的FluidSource帐户:
products.size() == 0 ? "InitialBatch" : products[0].productName
https://stackoverflow.com/questions/61328475
复制