English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Verificación de año bisiesto en Kotlin

Recopilación de ejemplos de Kotlin

En este programa, aprenderás a verificar si un año dado es un año bisiesto en Kotlin. Verifica con instrucciones if else y when.

un año bisiesto puede ser4divisible por400 divisible, solo los años centenarios son años bisiestos, excepto los que terminan en 00. Solo aquellos que pueden ser

Ejemplo1:Programa Kotlin con instrucciones if else para verificar el año bisiesto

fun main(args: Array<String>) {
    val year = 1900
    var leap = false
    if (year % 4 == 0) {
        if (year % 100 == 0) {
            //year puede ser400 divisible, por lo tanto es un año bisiesto
            leap = year % 400 == 0
        } else
            leap = true
    } else
        leap = false
    println(if (leap) "$year es un año bisiesto." else "$year no es un año bisiesto.")
}

Ejecutando el programa, la salida es:

1900 no es un año bisiesto.

En el programa anterior, el año dado1900 almacenado en la variable year.

  • porque1900 un año bisiesto puede ser4divisible y también es un año centenario (termina en 00), mientras que los años bisiestos pueden ser400 divisible. Porque1900 no es divisible por400 divisible, por lo tanto1900 no es un año bisiesto.

  • pero, si cambiamos year a2000, entonces puede ser divisible por4divisible y es un año centenario, también puede ser divisible por400 divisible. Por lo tanto,2000 es un año bisiesto.

  • similarmente, si cambiamos el año a2012entonces el año puede ser divisible por4divisible y no es un año centenario, por lo tanto2012es un año bisiesto. No necesitamos verificar2012¿año puede ser divisible por400 divisible.

A continuación, se muestra el código Java equivalente:Programa Java para verificar el año bisiesto

Ejemplo2:El programa Kotlin utiliza la expresión when para verificar el año bisiesto

fun main(args: Array<String>) {
    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 es un año bisiesto." else "$year no es un año bisiesto.")
}

Ejecutando el programa, la salida es:

2012 Es un año bisiesto.

En el programa anterior, utilizamos la expresión when en lugar de la sentencia if else.

La forma de trabajar con la expresión when es la siguiente:

  • Si el año (year) puede ser 4 Dividido enteramente:

    • Si puede ser4Dividido enteramente, verifica nuevamente si el año puede ser4Dividido por 00, luego devuelve true o false

    • when toma otra expresión, verifica si el año puede ser10División entera

    • No se puede dividir por100, entonces el año no es un año centenario (termina en 00), luego devuelve true

  • Si el año no puede ser4División entera, devuelve false

Según el valor de leap, utiliza print con if else inline.

Recopilación de ejemplos de Kotlin