Kotlino programa, skirta patikrinti keltuosius metus

Š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ą.

whenIšraiška veikia kaip:

  • Kai metai dalijasi iš 4
    • Įvedama kita wheniš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 truearbafalse
    • Jei neskirstoma iš 100, metai nėra šimtmečio metai (baigiasi 00) ir grįžta true
  • Jei metai negali dalytis iš 4, jie grįžta false

Remiantis šuolio verte, jis spausdina išvestį naudodamas įterptą, jei kitaip.

Įdomios straipsniai...