Котлинов програм за проверу преступне године

У овом програму ћете научити да проверите да ли је дата година преступна или не у Котлину. Ово се проверава помоћу наредбе иф елсе и наредбе вхен.

Преступна година је тачно дељива са 4, осим са вековима (године које се завршавају са 00). Вековна година је преступна само ако је савршено дељива са 400.

Пример 1: Котлинов програм за проверу преступне године користећи иф елсе изјаву

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

Када покренете програм, излаз ће бити:

 1900. није преступна година.

У горе наведеном програму, дата година 1900 се чува у променљивој години.

  • Будући да је 1900. дељива са 4, а такође је и вековна година (завршава се са 00), дељива је са 400 за преступну годину. Будући да није дељиво са 400, 1900. није преступна година.
  • Али, ако променимо годину у 2000., она је дељива са 4, вековна је и такође је дељива са 400. Дакле, 2000. је преступна.
  • Исто тако, ако годину променимо у 2012., она је дељива са 4 и није вековна, тако да је 2012. преступна. Не треба да проверавамо да ли је 2012. дељива са 400 или не.

Ево еквивалентног Јава кода: Јава програм за проверу преступне године

Пример 2: Котлин програм за проверу преступне године користећи израз

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

Када покренете програм, излаз ће бити:

 2012. је преступна година.

У горњем програму, уместо да користимо иф елсе израз, користили смо израз вхен.

whenИзраз ради као:

  • Када је година дељива са 4
    • Уноси се други whenизраз који проверава да ли је година дељива са 100
      • Ако је одговор да, поново се проверава да ли се година дели на 400 или не и враћа се trueилиfalse
    • Ако није дељива са 100, година није вековна година (завршава се са 00) и враћа се true
  • Ако година није дељива са 4, враћа се false

На основу вредности скока, исписује излаз користећи уграђени, ако је другачије.

Занимљиви Чланци...