I dette programmet lærer du å sjekke om det gitte året er et skuddår eller ikke i Kotlin. Dette sjekkes ved hjelp av en if else-setning og en når-setning.
Et skuddår er nøyaktig delbart med 4 bortsett fra århundrer (år som slutter med 00). Århundret er bare et skuddår hvis det er helt delelig med 400.
Eksempel 1: Kotlin-program for å sjekke et skuddår ved bruk av hvis annet uttalelse
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 kjører programmet, vil utdataene være:
1900 er ikke et skuddår.
I programmet ovenfor er gitt år 1900 lagret i det variable året.
- Siden 1900 er delt med 4 og er også et århundre år (slutter med 00), har det vært delt med 400 i et skuddår. Siden det ikke kan deles med 400, er ikke 1900 et skuddår.
- Men hvis vi endrer året til 2000, er det delbart med 4, er et århundreår og er også delbart med 400. 2000 er altså et skuddår.
- På samme måte, hvis vi endrer året til 2012, er det delbart med 4 og er ikke et århundreår, så 2012 er et skuddår. Vi trenger ikke sjekke om 2012 kan deles med 400 eller ikke.
Her er ekvivalent Java-kode: Java-program for å sjekke skuddår
Eksempel 2: Kotlin-program for å sjekke skuddår ved bruk av uttrykk
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 du kjører programmet, vil utgangen være:
2012 er et skuddår.
I det ovennevnte programmet, i stedet for å bruke en if else-setning, har vi brukt et når-uttrykk.
Den when
Uttrykket virker som:
- Når året kan deles med 4
- Det
when
legges inn et annet uttrykk som sjekker om året kan deles med 100- Hvis ja, sjekker den igjen om året er delt med 400 eller ikke, og returnerer
true
ellerfalse
- Hvis ja, sjekker den igjen om året er delt med 400 eller ikke, og returnerer
- Hvis ikke deles med 100, er ikke år et århundre år (slutter med 00) og returnerer
true
- Det
- Hvis året ikke kan deles med 4, returnerer det
false
Basert på verdien av spranget, skriver det ut utskrifter ved hjelp av en innebygd hvis ikke.