返回错误答案的groovy if语句
任何有助于理解这一点的帮助都将不胜感激 移动我的评论以回答: 我不知道groovy是如何工作的,但我将假设返回错误答案的groovy if语句,groovy,Groovy,任何有助于理解这一点的帮助都将不胜感激 移动我的评论以回答: 我不知道groovy是如何工作的,但我将假设!最低的评估!0=>true,因此当上一个值为0时,下一个要检查的值变为最低值 可能将最低值初始化为null,然后仅检查它是否为null或更低: Caught: Assertion failed: assert sortList(odds) == [-6,0,2] | | | |
!最低的
评估!0
=>true
,因此当上一个值为0
时,下一个要检查的值变为最低值
可能将最低值初始化为null,然后仅检查它是否为null或更低:
Caught: Assertion failed:
assert sortList(odds) == [-6,0,2]
| | |
| [] false
[-6, 2, 0]
Assertion failed:
assert sortList(odds) == [-6,0,2]
| | |
| [] false
[-6, 2, 0]
at TonyZeroTest.run(TonyZeroTest.groovy:19)
at RunScript.run(RunScript.groovy:66)
Process exited with code: 1
def lower=null
for(列表1中的n){
如果(最低==null | | n<最低)最低=n
}
此行中存在问题:
def lowest = null
for(n in list1){
if(lowest == null || n < lowest) lowest = n
}
如果(!loost | | loost==null | | n
当最低值=0时发生。我不知道你为什么要测试!最低
和最低==null
。当最低值为0时,!lowest
为true,您将把lowest
重新分配给n
的任何值,而不管该值是否小于当前的lowest
(0)
只需删除!最低
条件,您应该很好
有关为什么的更多信息!最低==true
,请检查此处:
def lowest = null
for(n in list1){
if(lowest == null || n < lowest) lowest = n
}
if(!lowest || lowest == null || n < lowest) lowest = n