Kotlini programm hüppeaasta kontrollimiseks

Selles programmis õpite kontrollima, kas antud aasta on Kotlinis liigaasta või mitte. Selle kontrollimiseks kasutatakse lauset if else ja when lauset.

Liigaasta jagub täpselt neljaga, välja arvatud sajandiaastad (aastad, mis lõpevad 00-ga). Sajandiaasta on liigaasta ainult siis, kui see jagub täiuslikult 400-ga.

Näide 1: Kotlini programm hüppeaasta kontrollimiseks, kasutades lauset 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.") )

Programmi käivitamisel on väljund järgmine:

 1900 pole liigaasta.

Eespool nimetatud programmis on aasta 1900 salvestatud muutuvasse aastasse.

  • Kuna 1900 jaguneb 4-ga ja on samuti sajandiaasta (lõpeb 00-ga), on see hüppeaastaks jagatav 400-ga. Kuna see pole jagatav 400-ga, pole 1900 liigaasta.
  • Kuid kui me muudame aasta 2000-ks, on see jagatav 4-ga, on sajandi-aasta ja jagub ka 400-ga. Seega on 2000. aasta liigaasta.
  • Samamoodi, kui muudame aasta 2012-ks, jagub see 4-ga ja see ei ole sajandiaasta, seega 2012 on liigaasta. Me ei pea kontrollima, kas 2012. aasta jagub 400-ga või mitte.

Siin on samaväärne Java kood: Java programm hüppeaasta kontrollimiseks

Näide 2: Kotlini programm hüppeaasta kontrollimiseks, kasutades väljendit

 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.") )

Programmi käivitamisel on väljund:

 2012 on liigaasta.

Ülaltoodud programmis oleme lause if asemel asemel kasutanud avaldist kui.

whenEkspressiooni töötab:

  • Kui aasta jagub 4-ga
    • whenSisestatakse veel üks väljend, mis kontrollib, kas aasta on jagatav 100-ga
      • Kui jah, kontrollib ta uuesti, kas aasta jagub 400-ga või mitte, ja tagastab truevõifalse
    • Kui seda ei jagata 100-ga, ei ole aasta sajandiaasta (lõpeb 00-ga) ja tuleb tagasi true
  • Kui aasta ei ole jagatav 4-ga, naaseb see false

Hüppe väärtuse põhjal prindib see väljundi, kui see on sees.

Huvitavad Artiklid...