Witam, jestem kompletnym nowicjuszem w języku Java, miałem do wykonania następujące zadanie:
Sprawdź, czy wprowadzona przez użytkownika liczba jest pierwsza (0 i 1 nie są pierwsze, 2 jest liczbą pierwszą, dalej standardowa definicja).
Do sprawdzenia użyj prostego algorytmu sprawdzającego, czy liczba dzieli się przez wszystkie liczby mniejsze od jej połowy. Jeśli dzieli się przez
którąkolwiek, nie jest pierwsza.
Niby mój program działa jak należy, lecz wydaje mi się, że dałoby się go napisać prościej. Nie wiem niestety co można poprawić/zmienić, byłbym wdzięczny
za jakieś porady jak dałoby się to napisać lepiej.
import java.util.Scanner;
public class Zadanie {
public static void main (String args [])
{
System.out.println("Podaj liczbę");
Scanner scanner = new Scanner(System.in);
int liczba;
liczba = scanner.nextInt();
if(liczba==2||liczba==3||liczba==5)
System.out.println("Liczba " + liczba + " jest liczbą pierwszą");
if(liczba==0||liczba==1)
System.out.println("Liczba " + liczba + " nie jest liczbą pierwszą");
if(liczba==4)
System.out.println("Liczba " + liczba + " jest liczbą złożoną");
for(int a = 2; a<liczba/2; a++)
{
if(liczba%a==0) {
System.out.println("Liczba " + liczba + " jest liczbą złożoną");
break;
}
else if(a<(liczba/2)-1)
continue;
else
System.out.println("Liczba " + liczba + " jest liczbą pierwszą");
break;
}
}
}