Kotlinov program za preverjanje prestopnega leta

V tem programu se boste naučili preverjati, ali je določeno leto v Kotlinu prestopno ali ne. To se preveri z uporabo stavkov if else in statement.

Prestopno leto je natančno deljivo s 4, razen s stoletnimi leti (leta, ki se končajo z 00). Leto stoletja je prestopno, le če je popolnoma deljivo s 400.

Primer 1: Kotlinov program za preverjanje prestopnega leta z uporabo 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.") )

Ko zaženete program, bo rezultat:

 1900 ni prestopno leto.

V zgornjem programu je določeno leto 1900 shranjeno v spremenljivem letu.

  • Ker je leto 1900 deljivo s 4 in je tudi stoletno leto (konča se z 00), je v prestopnem letu deljivo s 400. Ker ni deljivo s 400, 1900 ni prestopno leto.
  • Če pa spremenimo leto v 2000, je deljivo s 4, je stoletno leto in tudi s 400. Torej, 2000 je prestopno leto.
  • Če spremenimo leto v 2012, je deljivo s 4 in ni stoletno leto, zato je leto 2012 prestopno. Ni nam treba preverjati, ali je leto 2012 deljivo s 400 ali ne.

Tu je enakovredna koda Java: Program Java za preverjanje prestopnega leta

Primer 2: Kotlinov program za preverjanje prestopnega leta z uporabo 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.") )

Ko zaženete program, bo rezultat:

 Leto 2012 je prestopno.

V zgornjem programu smo namesto izraza if else uporabili izraz when.

whenIzraz deluje kot:

  • Ko je leto deljivo s 4
    • whenVnese se drug izraz, ki preveri, ali je leto deljivo s 100
      • Če je odgovor da, ponovno preveri, ali je leto deljivo s 400 ali ne, in vrne trueozfalse
    • Če ni deljivo s 100, leto ni stoletno leto (konča se z 00) in se vrne true
  • Če leto ni deljivo s 4, se vrne false

Na podlagi vrednosti preskoka natisne izhod z uporabo vrstice, če je drugače.

Zanimive Članki...