Cálculo del año bisiesto en Java

Muhammad Zeeshan 12 octubre 2023
Cálculo del año bisiesto en Java

Cada cuatro (4) años, se agrega un año bisiesto al calendario agregando un día adicional, el 29 de febrero, al calendario. En el tutorial de hoy, aprenderemos cómo calcular el año bisiesto usando Java.

Cálculo del año bisiesto usando Java

Generalmente, un año bisiesto ocurre cada cuatro años, aunque las regulaciones para los años bisiestos se establecen a continuación.

  1. Si un año es igualmente divisible por cuatro, es un año bisiesto.
  2. Los años divisibles por 100, como 1900 o 2000, no pueden ser años bisiestos si no son también divisibles por 400. Como resultado, mientras que los años 1600 y 2000 tuvieron años bisiestos, los años 1700, 1800 y 1900 no.
  3. Es un año bisiesto si un año cumple los dos criterios anteriores.

Tengamos un ejemplo. Primero, la clase Escáner se importa aquí para que el usuario pueda ingresar el año que desee.

El resto de los bloques if-else se consolidan en una sola línea para verificar si el año de entrada es un año bisiesto. El siguiente código de ejemplo muestra cómo comprobar si un año es bisiesto o no.

Para comenzar, importe las siguientes bibliotecas.

import java.io.*;
import java.util.Scanner;

Para mantener el año especificado por el usuario, cree una variable de tipo int llamada Useryear en la clase main.

int Useryear;

Inicializar un objeto de clase Escáner. Luego, usando un objeto de la clase Escáner llamado s, tomamos información del usuario.

Scanner s = new Scanner(System.in);
Useryear = s.nextInt();

En la primera condición comprobamos si es un año bisiesto de siglo, y en la 2ª condición comprobamos si es un año bisiesto y no un año de siglo.

if ((Useryear % 400 == 0) || ((Useryear % 4 == 0) && (Useryear % 100 != 0)))

Si ambas condiciones se cumplen, imprimirá "El año dado es un año bisiesto". En caso contrario, un "Un año dado no es un año bisiesto".

Código fuente completo:

import java.io.*;
import java.util.Scanner;

public class leapyear {
  public static void main(String[] args) {
    int Useryear;
    Scanner s = new Scanner(System.in);
    Useryear = s.nextInt();
    if ((Useryear % 400 == 0) || ((Useryear % 4 == 0) && (Useryear % 100 != 0))) {
      System.out.println(Useryear + " : Given year is a leap year");
    } else {
      System.out.println(Useryear + " : Given year is not a leap year");
    }
  }
}

Producción :

// Input Year
2000
2000 : Given year is a leap year

// Input Year
2022
2022 : Given year is not a leap year
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn