如何修改 package rules;dialect "mvel"import model.PI;rule "CalcPI" no-loop false when pi: PI() eval(pi.getIterValue() % 5 == 0) // 每五次循环触发规则 then System.out.println("执行规则中 ... "); System.out.println("PI的值: " + pi.getPi() + " 迭代值: " + pi.getIterValue()); pi.iterOne(); update(pi); // 询问用户是否继续循环 java.util.Scanner input = new java.util.Scanner(System.in); System.out.print("是否继续循环?(Y/N)"); String choice = input.nextLine(); if (choice.equalsIgnoreCase("N")) { pi.setIterValue(100); // 结束循环 } end里面的null类型
时间: 2024-01-09 20:04:04 浏览: 116
GBase_Hibernate3.2.3_GA-Dialect_8.3.81.51_build50.1.jar
5星 · 资源好评率100%
在规则的 end 部分,可以不需要显示地返回一个 null 类型。如果没有返回值,Drools 引擎会默认返回一个 null 值。因此,可以省略 end 部分的返回值。例如:
```
rule "CalcPI"
dialect "mvel"
no-loop false
when
pi: PI()
eval(pi.getIterValue() % 5 == 0) // 每五次循环触发规则
then
System.out.println("执行规则中 ... ");
System.out.println("PI的值: " + pi.getPi() + " 迭代值: " + pi.getIterValue());
pi.iterOne();
update(pi);
// 询问用户是否继续循环
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("是否继续循环?(Y/N)");
String choice = input.nextLine();
if (choice.equalsIgnoreCase("N")) {
pi.setIterValue(100); // 结束循环
}
end
```
在这个例子中,我们省略了 end 部分的返回值,Drools 引擎会默认返回一个 null 值。
阅读全文