Mam za zadanie napisanie programu, który dla podanych liczb naturalnych wypisze je w kolejnych liniach z informacją czy jest to liczba pierwsza, czy nie.
Coś napisałem, proszę o sprawdzenie kodu pod względem wydajności, funkcjonalności, być może można coś dodać, przerobić
public class pierwsze
{
public static boolean prime(int n)
{
if (n>2)
{
double sq = Math.sqrt(n);
if(n%2==0)
return false;
else
{
for(int i=3; i<=sq; i+=2)
{
if(n%i==0)
{
return false;
}
}
return true;
}
}
else if (n==2) return true;
return false;
}
public static void main(String args[])
{
int n=0;
for(int i=0; i<args.length; i++)
{
try
{
n=Integer.parseInt(args[i]);
if (prime(n)) System.out.println(n + " jest liczba pierwsza");
else System.out.println(n + " nie jest liczba pierwsza");
}
catch (NumberFormatException ex)
{
System.out.println(args[i] + " nie jest liczba calkowita");
}
}
}
}