Kotlin-program til kontrol af skudåret

I dette program lærer du at kontrollere, om det givne år er et skudår eller ikke i Kotlin. Dette kontrolleres ved hjælp af en if-sætning og en når-sætning.

Et skudår er nøjagtigt deleligt med 4 bortset fra århundreders år (år, der slutter med 00). Århundredet er kun et skudår, hvis det er helt deleligt med 400.

Eksempel 1: Kotlin-program til kontrol af et skudår ved hjælp af hvis ellers udsagn

 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ører programmet, vil output være:

 1900 er ikke et skudår.

I ovenstående program er givet år 1900 lagret i det variable år.

  • Siden 1900 er fordelt med 4 og er også et århundrede år (slutter med 00), har det været fordelt med 400 i et skudår. Da det ikke kan deles med 400, er 1900 ikke et skudår.
  • Men hvis vi ændrer året til 2000, er det deleligt med 4, er et århundredes år og kan også deles med 400. 2000 er altså et skudår.
  • Ligeledes Hvis vi ændrer året til 2012, kan det deles med 4 og er ikke et århundredes år, så 2012 er et skudår. Vi behøver ikke kontrollere, om 2012 kan deles med 400 eller ej.

Her er den tilsvarende Java-kode: Java-program til kontrol af skudår

Eksempel 2: Kotlin-program til kontrol af skudår ved hjælp af når udtryk

 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øres, vil output være:

 2012 er et skudår.

I det ovennævnte program har vi brugt et når-udtryk i stedet for at bruge en hvis ellers-sætning.

Den whenudtryk fungerer som:

  • Når året kan deles med 4
    • Der whenindtastes et andet udtryk, der kontrollerer, om året kan deles med 100
      • Hvis ja, kontrollerer den igen, om året er delt med 400 eller ej, og returnerer trueellerfalse
    • Hvis det ikke kan deles med 100, er året ikke et århundredes år (slutter med 00) og vender tilbage true
  • Hvis året ikke kan deles med 4, vender det tilbage false

Baseret på værdien af ​​springet, udskriver det output ved hjælp af en inline, hvis ikke.

Interessante artikler...