Hoy vas a aprender a determinar si un año es bisiesto en Java. El algoritmo dice que un año es bisiesto si es divisible entre 4, y (NO divisible entre 100 o divisible entre 400).
Vamos a hacer una función que regresa un booleano indicando si el año es o no bisiesto, con Java.
La función para saber si es año bisiesto
El método o función que se encarga del método es el siguiente. La función simplemente comprueba si el número es divisible, usando el operador módulo, y evalúa la condición lógica:
public static boolean esBisiesto(long anio) {
// Divisible entre 4, y (NO divisible entre 100 o divisible entre 400)
return anio % 4 == 0 && (anio % 100 != 0 || anio % 400 == 0);
}
En este caso únicamente debemos enviar el año y la función devolverá true
o false
.
Usando función
Podemos hacer varias cosas. Por ejemplo, solicitar el año al usuario e imprimir si es o no bisiesto. También podemos hacer un ciclo que imprima los años de un período. El siguiente código hace ambas cosas:
import java.util.Scanner;
public class Main {
// Visita: https://parzibyte.me/blog
public static void main(String[] args) {
// Primero preguntamos al usuario e imprimimos
long anio;
Scanner sc = new Scanner(System.in);
System.out.println("Ingresa un año: ");
anio = sc.nextLong();
// A partir de ese año, vamos a comprobar si es bisiesto
boolean resultado = esBisiesto(anio);
// No es necesario hacer el resultado == true porque ya es un booleano
if (resultado) {
System.out.println("Sí es bisiesto");
} else {
System.out.println("No es bisiesto");
}
// Y ahora otra cosa, imprimimos los bisiestos de un período
// Nota: "anio" ya está declarado anteriormente, por eso no lo volvemos a declarar, simplemente modificamos el
// valor
for (anio = 1900; anio < 3000; anio++) {
// La función también se puede usar así:
if (esBisiesto(anio)) {
System.out.printf("%d,", anio);
}
}
}
public static boolean esBisiesto(long anio) {
// Divisible entre 4, y (NO divisible entre 100 o divisible entre 400)
return anio % 4 == 0 && (anio % 100 != 0 || anio % 400 == 0);
}
}
Desde la línea 9 a 21 solicitamos el año, que es ingresado por teclado, e imprimimos si es o no bisiesto. Luego, desde la 22 a la 30 hacemos un ciclo para imprimir los años bisiestos desde el 1900 hasta el 2999.
He grabado un vídeo explicando el post:
Y aquí puedes ver más sobre Java.