Почему программа не может передать эти утверждения? - PullRequest
0 голосов
/ 09 марта 2020

Мой код: (имя класса математическое, и он реализует интерфейс)

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;

Но я не могу понять, как передать все утверждения

1 Ответ

3 голосов
/ 09 марта 2020

Поскольку он никогда не входит в l oop (2 больше, чем -37337)

...