I denne artikel lærer du at kontrollere, om et tal er prime eller ej. Dette gøres ved hjælp af en for loop og while loop i Java.
For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:
- Java mens og gør … mens Loop
- Java til Loop
Et primtal er et tal, der kun kan deles med to tal: 1 og sig selv. Så hvis et tal er deleligt med et andet tal, er det ikke et primtal.
Eksempel 1: Program til at kontrollere primtal ved hjælp af en for-loop
public class Main ( public static void main(String() args) ( int num = 29; boolean flag = false; for (int i = 2; i <= num / 2; ++i) ( // condition for nonprime number if (num % i == 0) ( flag = true; break; ) ) if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); ) )
Produktion
29 er et primtal.
I ovennævnte program bruges for loop til at bestemme, om det givne tal num er prime eller ej.
Her skal du bemærke, at vi løkker fra 2 til num / 2. Det er fordi et tal ikke kan deles med mere end halvdelen.
Inde i for
sløjfen kontrollerer vi, om tallet er deleligt med et hvilket som helst tal i det givne interval (2… num/2)
.
- Hvis num er deleligt, sættes flag til,
true
og vi bryder ud af sløjfen. Dette bestemmer, at tal ikke er et primtal. - Hvis num ikke kan deles med et hvilket som helst tal, er flag falsk, og num er et primtal.
Eksempel 2: Programmer til at kontrollere primtal ved hjælp af en while-loop
public class Main ( public static void main(String() args) ( int num = 33, i = 2; boolean flag = false; while (i <= num / 2) ( // condition for nonprime number if (num % i == 0) ( flag = true; break; ) ++i; ) if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); ) )
Produktion
33 er ikke et primtal.
I ovenstående program, mens loop bruges i stedet for en for loop. Sløjfen løber indtil i <= num/2
. På hver iteration kontrolleres, om num er delelig med i, og værdien af i øges med 1.
Besøg denne side for at lære, hvordan du kan vise alle primtal mellem to intervaller.