Bisiesto

Bisiesto

Fácil

Introducción

Un año bisiesto (en el calendario gregoriano) ocurre:

  • En todos los años que sean divisibles entre 4.
  • Salvo que el año sea divisible entre 100, en cuyo caso solo es bisiesto si además es divisible entre 400.

Algunos ejemplos:

  • 1997 no fue un año bisiesto, ya que no es divisible entre 4.
  • 1900 no fue un año bisiesto, ya que no es divisible entre 400.
  • ¡2000 sí fue un año bisiesto!
Note

Si quieres una explicación amena de cuatro minutos sobre todo el fenómeno de los años bisiestos, mira este video de YouTube.

Instrucciones

Tu tarea consiste en determinar si un año dado es bisiesto.

Implementación

Antes de empezar, asegúrate de que entiendes cómo escribir código que pueda pasar los casos de prueba. Para más contexto, revisa este tutorial.

La mayoría de los ejercicios de Java incluyen varios casos de prueba. Estos casos están estructurados para apoyar un proceso muy útil conocido como desarrollo guiado por pruebas (TDD). El TDD consiste en repetir un ciclo estructurado que ayuda a quien programa a construir funcionalidad compleja poco a poco en lugar de hacerlo todo de una vez. Ese ciclo se puede describir así:

  1. Agrega una prueba que describa una parte de la funcionalidad deseada que tu código todavía no tiene.
  2. Ejecuta las pruebas para verificar que esta prueba recién agregada falla.
  3. Actualiza tu código actual hasta que:
    • Todas las pruebas anteriores sigan pasando;
    • La nueva prueba también pase.
  4. Limpia tu código, asegurándote de que todas las pruebas sigan pasando. Por lo general, esto implica renombrar variables, quitar fragmentos de lógica duplicados, eliminar los mensajes de registro que sobraron, etc.
  5. ¡Vuelve al paso 1 hasta que hayas construido toda la funcionalidad deseada!

Los archivos de prueba de este track contienen todas las pruebas que tu solución debe pasar para considerarse válida. Eso no parece ser compatible de inmediato con el ciclo descrito arriba, en el que las pruebas se escriben una por una. Sin embargo, la herramienta que usamos para escribir nuestras pruebas, JUnit, ofrece una anotación @Disabled que sirve para omitir temporalmente una prueba que ya está escrita. Con esta anotación, nos aseguramos de que los archivos de prueba que te entregamos cumplan las siguientes reglas:

  • La primera prueba de cualquier archivo de prueba no se omite de forma predeterminada.
  • Todas las pruebas excepto la primera de cualquier archivo de prueba se omiten de forma predeterminada.

Esto te permite simular el ciclo de TDD siguiendo estos pasos ligeramente modificados:

  1. Ejecuta las pruebas para verificar que como máximo una prueba falla en este momento.
  2. Actualiza tu código actual hasta que pasen todas las pruebas que no están omitidas.
  3. Limpia tu código, asegurándote de que todas las pruebas no omitidas sigan pasando.
  4. Elimina la anotación @Disabled que está más arriba en el archivo de prueba.
  5. ¡Vuelve al paso 1 hasta que no quede ninguna prueba omitida y todas pasen!
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Java Exercism

¿Todo listo para empezar Bisiesto?

Regístrate en Exercism para aprender y dominar Java con 26 conceptos158 ejercicios y mentoría humana real, todo gratis.

¡Profundiza en Bisiesto!

Profundiza en los distintos algoritmos y enfoques que puedes usar para resolver Bisiesto, mientras Jeremy y Erik exploran interesantes soluciones de la comunidad en 10 lenguajes diferentes en Exercism.