Selles programmis õpite kontrollima, kas antud arvu saab väljendada kahe algarvu summana või mitte. Seda tehakse Java tsüklite ja katkestuslausete abil.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:
- Java meetodid
- Java aasale
- Java kui … muidu avaldus
Näide: esitage arv kahe peaarvu summana
public class Main ( public static void main(String() args) ( int number = 34; boolean flag = false; for (int i = 2; i <= number / 2; ++i) ( // condition for i to be a prime number if (checkPrime(i)) ( // condition for n-i to be a prime number if (checkPrime(number - i)) ( // n = primeNumber1 + primeNumber2 System.out.printf("%d = %d + %d", number, i, number - i); flag = true; ) ) ) if (!flag) System.out.println(number + " cannot be expressed as the sum of two prime numbers."); ) // Function to check prime number static boolean checkPrime(int num) ( boolean isPrime = true; for (int i = 2; i <= num / 2; ++i) ( if (num % i == 0) ( isPrime = false; break; ) ) return isPrime; ) )
Väljund
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
Ülaltoodud näites oleme loonud checkPrime()
meetodi leidmiseks, kas arv on algarv või mitte. Meetod naaseb, true
kui edastatud arv on algarv.
Siin on meil number 34 . Programm proovib kontrollida, kas 34 saab esitada kahe algarvu summana.
Programmi töö
- Esiteks käivitame
for
silmusei = 2 to number / 2
. for
Silmuse sees kasutasime kahteif
lauset. Esimeses lauses kontrollitakse, kas i on peamine või mitte.
Kui see on tõene, kontrollib teineif
lause, kas seenumber - i
on peamine või mitte. Seda seetõttu, et i ja arvu - i summa võrdub arvuga.- Kui ka teine lause on
true
, siis võime öelda, et number 34 on kahe algarvu kehtiv summa.