java - 带有条件的 Java 循环
问题描述
我在 Java 方面没有经验,但我需要在 KNIME 中创建 Java 片段节点。
我正在尝试编写一个基于特定条件创建计数器/迭代器的短循环。我设法编写了 IF THEN ELSE 部分,但我想知道如何将其放入循环中:
out_user_session_counter = 1;
if (c_session_end.equals("session end")) {
out_user_session_counter = out_user_session_counter + 1;
} else {
out_user_session_counter = out_user_session_counter + 0;
}
这个想法是:每次c_session_end.equals("session end")
thenout_user_session_counter
应该增加 1
UPD .:这是带有循环结果的数据模型的屏幕截图(结果不正确):
正确的预期结果将是 1 1 1 1 2 2 3 3 3 3 3 而不是 1 1 1 1 11 1 11 1 1 1 1
解决方案
您需要循环计数器在 Java Snippet 中的行之间保持不变。为此,您可以在//Your custom variables:
代码片段的一部分中定义它:
int sessionCounter=0;
然后在//Enter you code here:
部分:
if("session end".equalsIgnoreCase(c_column2)){
sessionCounter++;
}
out_user_session_counter = sessionCounter;
如图所示,带有“会话结束”的行将包含递增的计数器。如果您希望它包含旧计数器,请更改代码段,使上面的最后一行位于if
语句之前。
您不需要将它放在 KNIME 中的循环中 - 片段的表达式部分已经为每个输入行按顺序计算。为清楚起见,在片段对话框中显示如下
推荐阅读
- python - 在特定区域使用边缘权重进行反向传播
- php - 在使用 php 的 sql 查询中使用 case 函数时出错
- python - XOR MLP 与 GA,分析具有不同交叉/突变概率的图,可以得出什么结论?
- python - 如何将调查中以不同方式输入的响应分类分组到常见组中,以便更轻松地处理数据?
- dependencies - 无法在 Odoo12 上正确查看模块描述 - 如何解决?
- python - 如何使用类实例遍历字典?
- c++ - 我可以写字符数组 ch[n] 而不是 ch[10]
- java - 处理 REST 端点代码中的约束违反异常
- node.js - 试图让彩票为玩家增加角色
- android - 如何创建通用数据类型以访问 Json 响应的内部参数