Kotlinov program za provjeru prijestupne godine

U ovom ćete programu naučiti provjeriti je li u Kotlinu određena godina prijestupna ili nije. To se provjerava pomoću naredbe if else i naredbe when.

Prestupna godina točno se dijeli s 4, osim s stoljećima (godine koje završavaju s 00). Stoljetna godina je prijestupna samo ako je savršeno djeljiva sa 400.

Primjer 1: Kotlinov program za provjeru prijestupne godine pomoću izjave if else

 fun main(args: Array) ( val year = 1900 var leap = false if (year % 4 == 0) ( if (year % 100 == 0) ( // year is divisible by 400, hence the year is a leap year leap = year % 400 == 0 ) else leap = true ) else leap = false println(if (leap) "$year is a leap year." else "$year is not a leap year.") )

Kada pokrenete program, izlaz će biti:

 1900. nije prijestupna godina.

U gore navedenom programu, dana 1900. pohranjena je u promjenljivoj godini.

  • Budući da se 1900. dijeli sa 4, a ujedno je i stoljeće (završava s 00), dijeli se s 400 za prijestupnu godinu. Budući da nije djeljivo s 400, 1900. nije prijestupna godina.
  • Ali, ako promijenimo godinu u 2000., ona je djeljiva sa 4, stoljećima je i dijeli se sa 400. Dakle, 2000. je prijestupna godina.
  • Isto tako, ako godinu promijenimo u 2012., ona je djeljiva sa 4 i nije stoljeće, pa je 2012. prijestupna. Ne trebamo provjeravati je li 2012. djeljiva sa 400 ili nije.

Evo ekvivalentnog Java koda: Java program za provjeru prijestupne godine

Primjer 2: Kotlinov program za provjeru prijestupne godine pomoću izraza

 fun main(args: Array) ( val year = 2012 var leap = false leap = when ( year % 4 == 0 -> ( when ( year % 100 == 0 -> year % 400 == 0 else -> true ) ) else -> false ) println(if (leap) "$year is a leap year." else "$year is not a leap year.") )

Pri pokretanju programa, izlaz će biti:

 2012. je prestupna godina.

U gornjem programu, umjesto da koristimo if else naredbu, koristili smo izraz if.

whenIzraz radi kao:

  • Kada je godina djeljiva sa 4
    • Unosi se drugi whenizraz koji provjerava je li godina djeljiva sa 100
      • Ako je odgovor da, ponovno se provjerava je li godina djeljiva na 400 ili ne i vraća se trueilifalse
    • Ako se ne podijeli sa 100, godina nije stoljeće (završava s 00) i vraća se true
  • Ako godina nije djeljiva sa 4, vraća se false

Na temelju vrijednosti skoka, ispisuje izlaz koristeći ugrađeni tekst, ako je drugačije.

Zanimljivi članci...