为什么程序不能通过这些断言?



我的代码:(类名是math,它实现了一个接口(

public boolean isPrime(int n){
for (int i=2; i<n; i++){
if (n%i==0){
return false;
}
}
return true;
}

需要通过的断言:

assert math.isPrime(2);
assert math.isPrime(3);
assert math.isPrime(53);
assert !math.isPrime(55);
assert !math.isPrime(24);
assert !math.isPrime(-37337);

奇怪的是,我发现该方法将通过将我的代码更改为:来传递-37337断言

for (int i=2; i<n; i++){
if (!(n%i==0)){
return true;
}
}
return false;

但我似乎不知道如何通过的所有断言

因为它从不进入循环(2大于-37337(

相关内容

  • 没有找到相关文章

最新更新