“While循环”

szymekszymek 成员职位:3.贡献我
2019年5月编辑 帮助
你好,

是否有可能通过循环设置的例子与“while”循环?

在我看来,for循环并不是我试图解决的以下问题的最有效的解决方案。

我有两个表A和B。表A有Time1属性,表B有Time2和EventsCount属性。表A和表B中的表项分别按照Time1和Time2进行排序。
此外,表A中的时间条目是周期性的,周期为p。我想找出表B中有多少事件(存储在EventsCount中)对应于表A中的每个Time1元素

为多(Time1)
3.
13
23
33
43

(表b Time2 EventsCount)
4、7
8、1
10、4
15日,2
21日,5
30、10
36岁,11
40岁,2

答案是
3, 7 + 1 = 8
13、4 + 2 = 7
23,5
33岁的10 + 11 = 21
43岁的2

为了获得结果,程序必须循环遍历表A中的Time1属性,并计算EventsCount列中Time2值大于Time1-p/2且小于Time1+p/2的所有值。因此有两个循环,第一个循环用于表A,第二个循环用于表B。将第二个循环实现为while循环会更有效,因为在这种情况下,我们不必扫描表B中的所有元素,但我们只扫描表一次。

那么,我必须使用for循环吗?对解决所描述的问题的过程有什么想法吗?

谢谢你的帮助。
Szymon


标记:

答案

  • 黑线鳕黑线鳕 成员职位:849Maven
    嗨Szymon,

    查看“Execute Script”操作符,它允许您在数据上调用Java,听起来正是您所需要的,希望如此。

  • 科罗拉多州科罗拉多州 成员职位:236Maven
    嗨Szymon,

    如果您不想自己编写代码,则可以在第二个循环中使用“Filter Examples”和“Loop Examples”的组合,以便只考虑TableB中的相关示例。但是一定不要写回过滤后的ExampleSet,只使用它在第二个循环内进行计算,然后丢弃/忽略它。

    问候,
    马蒂亚斯
登录注册置评。