我的代码:(类名是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)
关于java - 程序为什么不能通过这些断言?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60606646/