Kotlin-Programm zur Überprüfung des Schaltjahres

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 whenAusdruck funktioniert wie folgt:

  • Wenn das Jahr durch 4 teilbar ist
    • Es wird ein weiterer whenAusdruck 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 trueoderfalse
    • Wenn nicht durch 100 geteilt, ist das Jahr kein Jahrhundertjahr (endet mit 00) und kehrt zurück true
  • 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.

Interessante Beiträge...