I denne artikkelen lærer du å sjekke om et tall er primtall eller ikke. Dette gjøres ved hjelp av en for loop og while loop i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java mens og gjør… mens Loop
- Java for Loop
Et primtall er et tall som bare kan deles med to tall: 1 og seg selv. Så hvis et tall er delbart med et annet tall, er det ikke et primtall.
Eksempel 1: Program for å sjekke primtallnummer ved hjelp av 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."); ) )
Produksjon
29 er et primtall.
I det ovennevnte programmet brukes for loop til å bestemme om det gitte nummeret er prime eller ikke.
Vær oppmerksom på at vi går fra 2 til num / 2. Det er fordi et tall ikke er delbart med mer enn halvparten.
Inne i for
sløyfen sjekker vi om tallet er delbart med et hvilket som helst tall i det gitte området (2… num/2)
.
- Hvis num er delbart, settes flagget til
true
og vi bryter ut av løkken. Dette bestemmer at tall ikke er et primtall. - Hvis num ikke kan deles med noe tall, er flagget feil og num er et primtall.
Eksempel 2: Program for å sjekke primtallnummeret ved hjelp av en while-løkke
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."); ) )
Produksjon
33 er ikke et primtall.
I programmet ovenfor brukes mens loop i stedet for en for loop. Sløyfen går til i <= num/2
. På hver iterasjon kontrolleres om num er delelig med i og verdien av i økes med 1.
Besøk denne siden for å lære hvordan du kan vise alle primtall mellom to intervaller.