Šioje programoje išmoksite patikrinti, ar duoti metai yra keliamieji metai, ar ne. Tai patikrinama naudojant teiginį „if else“ ir „when“ teiginį.
Keliamieji metai tiksliai dalijasi iš 4, išskyrus šimtmečio metus (metus, pasibaigiančius 00). Šimtmečio metai yra keliamieji metai, tik jei jie puikiai dalijasi iš 400.
1 pavyzdys: „Kotlin“ programa, skirta patikrinti keltuosius metus, naudojant teiginį „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.") )
Kai paleisite programą, išvestis bus:
1900 metai nėra keliamieji metai.
Pagal pirmiau pateiktą programą 1900 metai yra saugomi kintamuosiuose.
- Kadangi 1900 m. Dalijasi iš 4 ir taip pat yra šimtmečio metai (baigiasi 00), keliamaisiais metais jis dalijasi iš 400. Kadangi jo negalima dalinti iš 400, 1900 m. Nėra keliamieji metai.
- Bet jei pakeisime metus į 2000 m., Jie dalijasi iš 4, yra šimtmečio ir dalijasi iš 400. Taigi, 2000 m. Yra keliamieji metai.
- Panašiai, jei pakeisime metus į 2012 m., Jie dalijasi iš 4 ir nėra šimtmečio metai, taigi 2012 m. Yra keliamieji metai. Mums nereikia tikrinti, ar 2012 m. Dalijasi iš 400, ar ne.
Čia yra lygiavertis „Java“ kodas: „Java“ programa, leidžianti patikrinti kelerius metus
2 pavyzdys: „Kotlin“ programa, skirta patikrinti šuolio metus, naudojant išraišką
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.") )
Paleidus programą, išvestis bus:
2012 metai yra keliamieji metai.
Aukščiau pateiktoje programoje, užuot naudoję teiginį if else, mes panaudojome a išraišką.
when
Išraiška veikia kaip:
- Kai metai dalijasi iš 4
- Įvedama kita
when
išraiška, kuri patikrina, ar metai dalijasi iš 100- Jei taip, jis vėl patikrina, ar metai dalijasi iš 400, ar ne, ir grąžina
true
arbafalse
- Jei taip, jis vėl patikrina, ar metai dalijasi iš 400, ar ne, ir grąžina
- Jei neskirstoma iš 100, metai nėra šimtmečio metai (baigiasi 00) ir grįžta
true
- Įvedama kita
- Jei metai negali dalytis iš 4, jie grįžta
false
Remiantis šuolio verte, jis spausdina išvestį naudodamas įterptą, jei kitaip.