Programa de Kotlin para comprobar el año bisiesto

En este programa, aprenderá a verificar si el año dado es bisiesto o no en Kotlin. Esto se verifica usando una instrucción if else y una instrucción when.

Un año bisiesto es exactamente divisible por 4, excepto los años de siglo (años que terminan en 00). El año del siglo es un año bisiesto solo si es perfectamente divisible por 400.

Ejemplo 1: Programa de Kotlin para verificar un año bisiesto usando la declaración if else

 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.") )

Cuando ejecute el programa, la salida será:

 1900 no es un año bisiesto.

En el programa anterior, el año 1900 se almacena en la variable año.

  • Dado que 1900 es divisible por 4 y también es un año de siglo (que termina en 00), se puede dividir por 400 para un año bisiesto. Dado que no es divisible por 400, 1900 no es un año bisiesto.
  • Pero, si cambiamos el año a 2000, es divisible por 4, es un año centenario y también es divisible por 400. Entonces, 2000 es un año bisiesto.
  • Asimismo, si cambiamos el año a 2012, es divisible por 4 y no es un año centenario, por lo que 2012 es un año bisiesto. No necesitamos verificar si 2012 es divisible por 400 o no.

Aquí está el código Java equivalente: Programa Java para verificar el año bisiesto

Ejemplo 2: Programa de Kotlin para verificar el año bisiesto usando la expresión 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.") )

Cuando ejecute el programa, la salida será:

 2012 es un año bisiesto.

En el programa anterior, en lugar de usar una instrucción if else, hemos usado una expresión when.

La whenexpresión funciona como:

  • Cuando el año es divisible por 4
    • Se wheningresa otra expresión que verifica si el año es divisible por 100
      • En caso afirmativo, vuelve a comprobar si el año es divisible por 400 o no, y devuelve trueofalse
    • Si no es divisible por 100, el año no es un año de siglo (termina en 00) y devuelve true
  • Si el año no es divisible por 4, devuelve false

Basado en el valor de salto, imprime la salida usando una línea si no.

Articulos interesantes...