Некоторые вещи, которые вы, возможно, пропустили:
в функции, оператор return
завершает (break
) функцию немедленно. Так что в
if(...) { return ...; }
else {...}
→ else
избыточно, как будто условие истинно, функция уже завершена (break
)
Что-то вроде a==0
имеет boolean
значение (true
или false
). Так что
if (count == 0) {return false; }
else {return true;}
можно сократить до return count!=0;
Я рекомендую всегда использовать фигурные скобки, поскольку что-то вроде if(i==0) ++i; break;
означает if(i==0) {++i;}
. break;
будет вызван в любом случае.
public static boolean
isPrime(int n)
{
if(n==0 || n==1) { return false; }
for(int i= 2; i <= n/2; ++i)
{
if(n%i == 0) { return false; } //we know, n is not a prime,
//so function can break here
}
return true; //since for all values of i, the function did not break,
//n is a prime
}
Я буду sh у вас много мотивации для кодирования на будущее!