Kotlin-programmet för att kontrollera skottåret

I det här programmet lär du dig att kontrollera om det angivna året är ett skottår eller inte i Kotlin. Detta kontrolleras med ett if-annat uttalande och ett när-uttalande.

Ett skottår är exakt delbart med 4 förutom århundradets år (år som slutar med 00). Århundradet är bara ett skottår om det är helt delbart med 400.

Exempel 1: Kotlin-programmet för att kontrollera ett språngår med if if-uttalande

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

När du kör programmet blir resultatet:

 1900 är inte ett skottår.

I ovanstående program lagras givet år 1900 under det variabla året.

  • Sedan 1900 är delbart med 4 och är också ett sekelår (slutar med 00) har det delats med 400 under ett skottår. Eftersom det inte kan delas med 400 är 1900 inte ett skottår.
  • Men om vi ändrar året till 2000 är det delbart med 4, är ett sekelår och är också delbart med 400. Så 2000 är ett skottår.
  • På samma sätt, om vi ändrar året till 2012 är det delbart med 4 och är inte ett sekelår, så 2012 är ett skottår. Vi behöver inte kontrollera om 2012 är delbart med 400 eller inte.

Här är motsvarande Java-kod: Java-program för att kontrollera skottår

Exempel 2: Kotlin-programmet för att kontrollera språngåret med när uttryck

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

När programmet körs blir resultatet:

 2012 är ett skottår.

I ovanstående program har vi använt ett när-uttryck i stället för att använda ett if-annat uttalande.

Det whenuttrycket fungerar som:

  • När år är delbart med 4
    • Ett annat whenuttryck anges som kontrollerar om året är delbart med 100
      • Om ja, kontrollerar den igen om året är delbart med 400 eller inte, och returnerar trueellerfalse
    • Om inte delas med 100, år är inte ett århundrade år (slutar med 00) och återvänder true
  • Om året inte kan delas med 4, återkommer det false

Baserat på språngvärdet, skrivs ut resultatet med en inline om annars.

Intressanta artiklar...