检查具有两个不同结果的两个条件(三元运算符)
Check two conditions with two different outcomes (ternary operators)
我创建了一个变量,
newval1 = lb + (ub - lb)*rnd.nextDouble();
必须介于两个值 bounds[0]
和 bounds[1]
之间。目前我用三元运算符在两行中实现了这个检查:
newval1 = ((newval1<bounds[0]) ? bounds[0] : newval1);
newval1 = ((newval1>bounds[1]) ? bounds[1] : newval1);
毫无疑问,有一种更有效的方法可以将 newval1
与这些界限进行比较,最好是在 1 行中。有什么建议么?
val = Math.min(bounds[1], Math.max(bounds[0], val));
我创建了一个变量,
newval1 = lb + (ub - lb)*rnd.nextDouble();
必须介于两个值 bounds[0]
和 bounds[1]
之间。目前我用三元运算符在两行中实现了这个检查:
newval1 = ((newval1<bounds[0]) ? bounds[0] : newval1);
newval1 = ((newval1>bounds[1]) ? bounds[1] : newval1);
毫无疑问,有一种更有效的方法可以将 newval1
与这些界限进行比较,最好是在 1 行中。有什么建议么?
val = Math.min(bounds[1], Math.max(bounds[0], val));