In diesem Programm lernen Sie zu überprüfen, ob das angegebene Jahr ein Schaltjahr in Kotlin ist oder nicht. Dies wird mit einer if else-Anweisung und einer when-Anweisung überprüft.
Ein Schaltjahr ist bis auf Jahrhundertjahre (Jahre, die mit 00 enden) genau durch 4 teilbar. Das Jahrhundertjahr ist nur dann ein Schaltjahr, wenn es durch 400 perfekt teilbar ist.
Beispiel 1: Kotlin-Programm zum Überprüfen eines Schaltjahres mit der if else-Anweisung
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.") )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
1900 ist kein Schaltjahr.
In dem obigen Programm wird das gegebene Jahr 1900 im variablen Jahr gespeichert.
- Da 1900 durch 4 teilbar ist und auch ein Jahrhundertjahr ist (das mit 00 endet), ist es für ein Schaltjahr durch 400 teilbar. 1900 ist kein Schaltjahr, da es nicht durch 400 teilbar ist.
- Wenn wir jedoch das Jahr auf 2000 ändern, ist es durch 4 teilbar, ist ein Jahrhundertjahr und auch durch 400 teilbar. 2000 ist also ein Schaltjahr.
- Wenn wir das Jahr auf 2012 ändern, ist es durch 4 teilbar und kein Jahrhundertjahr, also 2012 ein Schaltjahr. Wir müssen nicht prüfen, ob 2012 durch 400 teilbar ist oder nicht.
Hier ist der entsprechende Java-Code: Java-Programm zur Überprüfung des Schaltjahres
Beispiel 2: Kotlin-Programm zum Überprüfen des Schaltjahres mit dem Ausdruck when
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.") )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
2012 ist ein Schaltjahr.
Im obigen Programm haben wir anstelle einer if else-Anweisung einen when-Ausdruck verwendet.
Der when
Ausdruck funktioniert wie folgt:
- Wenn das Jahr durch 4 teilbar ist
- Es wird ein weiterer
when
Ausdruck eingegeben, der prüft, ob das Jahr durch 100 teilbar ist- Wenn ja, wird erneut geprüft, ob das Jahr durch 400 geteilt werden kann oder nicht, und es wird zurückgegeben
true
oderfalse
- Wenn ja, wird erneut geprüft, ob das Jahr durch 400 geteilt werden kann oder nicht, und es wird zurückgegeben
- Wenn nicht durch 100 geteilt, ist das Jahr kein Jahrhundertjahr (endet mit 00) und kehrt zurück
true
- Es wird ein weiterer
- Wenn das Jahr nicht durch 4 teilbar ist, wird es zurückgegeben
false
Basierend auf dem Wert von leap wird die Ausgabe mit einer Inline gedruckt, falls dies nicht der Fall ist.