Java Program to check Leap year or not


March 29, 2022, Learn eTutorial
1337

Here we are explaining how to write a java program to check whether a year is a leap year or not. So first we have to know what is a leap year and how we can check a year is a leap year or not.

To understand this example, you should have knowledge of the following Java programming topics

What is a leap year?

A normal year has 365 days. Leap year is a year that has 366 days. Mostly it occurs every four years. If a year has February 29, then that year is a leap year.

How to check a year is a leap year or not?

  • If a year is a leap year, then that year can be exactly divided by 4 except for the years ending with 00.

                 Example:2020

  • If a year is ending with 00, then we have to check it should be divisible by 400 also. If the year is divisible by 400, then it is a leap year.

                Example:2000                 

How to implement the program to check whether a year is a leap year or not?

So we have to declare the class LYear with a public modifier. Then read the year from the user and save it into the variable yr. Then by using the if statement checks if yr % 4 equals zero or not. If zero then also check yr % 100 equals zero and yr % 400 equals zero. If both of these conditions are true set flag=true.Else set flag=false.If yr % 4 equals zero and yr % 100 does not equal zero then we have to set flag=true else set flag=false. Then we have to check the flag value. If the flag equals true then we will display the year as a leap year. If the flag equals false then we will display the year is not a leap year.

ALGORITHM

STEP 1: Declare the class LYear with public modifier 

STEP 2: Open the main() to start the program, Java program execution starts with the main()

STEP 3: Declare the variable yr as integer and flag as boolean. And initialize the value of the flag to false.

STEP 4: Read the year from the user into the variable yr using a scanner.

STEP 5: check if yr % 4 equals zero, if true then do step 6. Else do step 8.

STEP 6: Check if yr % 100 equals zero or not. If it's not zero then the set flag equals true.

STEP 7: If yr % 100 equals zero then check if yr % 400 equals zero, if true then set flag equals true, else set flag equals false. And go to step 9.

STEP 8: If yr % 4 is not equal to zero then set  flag=false.

STEP 9: If the flag equals true then display the year as a leap year. Else display the year is not a leap year.             

Java Source Code

                                          import java.util.Scanner;
public class LYear {

    public static void main(String[] args) {

        int yr;
        boolean flag = false;
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the year : ");//Read the Year from the user.
        yr = sc.nextInt();
        if(yr % 4 == 0)
        {
            if( yr % 100 == 0)
            {
                // if the year is divisible by 400 then it is leap year.
                if ( yr % 400 == 0)
                    flag = true;
                else
                    flag = false;
            }
            else
                flag = true;
        }
        else
            flag = false;

        if(flag==true)
            System.out.println("It  is a leap year!");
        else
            System.out.println("It is not a leap year!");
    }
}
                                      

OUTPUT

Enter the year : 2000
2000 is a leap year!

Enter the year : 2001
2001 is not a leap year!