Skip to content
Related Articles

Related Articles

Java Program to Find if a Given Year is a Leap Year
  • Last Updated : 02 Nov, 2020

Leap Year contains 366 days, which comes once every four years. Every leap year corresponds to these facts : 

  • A century year is a year ending with 00. A century year is a leap year only if it is divisible by 400.
  • A leap year (except a century year) can be identified if it is exactly divisible by 4.
  • A century year should be divisible by 4 and 100 both.
  • A non-century year should be divisible only by 4.

Let’s find out whether a year is a leap year or not.

Without Using Scanner Class

As the name suggests here user is bound not to select a year of his choice. The following program illustrates the way to find out if a year is a leap year: 

Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find a leap year
  
// Importing Classes/Files
import java.io.*;
  
// Class for leap-year dealing
public class GeeksforGeeks {
  
    // Method to check leap year
    public static void isLeapYear(int year)
    {
        // flag to take a non-leap year by default
        boolean is_leap_year = false;
  
        // If year is divisible by 4
        if (year % 4 == 0) {
  
            // To identify whether it 
            // is a century year or
            // not
            if (year % 100 == 0) {
                
                // Checking if year is divisible by 400
                // therefore century leap year
                if (year % 400 == 0) {
                    is_leap_year = true;
                }
  
                else {
                    is_leap_year = false;
                }
            }
  
            // Out of if loop that is Non century year
            // but divisible by 4, therefore leap year
            is_leap_year = true;
        }
  
        // We land here when corresponding if fails
        // If year is not divisible by 4
        else
  
            // Flag dealing-  Non leap-year
            is_leap_year = false;
  
        if (!is_leap_year) {
            System.out.println(year + " : Non Leap-year");
        }
  
        else {
            System.out.println(year + " : Leap-year");
        }
    }
  
    // Main Driver Code
    public static void main(String[] args)
    {
        // Calling our function by
        // passing century year
        isLeapYear(2000);
  
        // Calling our function by
        // passing Non-century year
        isLeapYear(2002);
    }
}

chevron_right


Output:



2000 : Leap-year
2002 : Non Leap-year

2000 is a century year divisible by 100 and 4. 2002 is not divisible by 4, therefore not a leap year. 

Using Scanner Class

Here the user is provided the flexibility to enter the year of own choice as Scanner Class is imported here rest the if-else blocks are also combined in a single statement to check if the input year is a leap year. The following program illustrates the way to find out if a year is a leap year: 

Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to check Leap-year
// by taking inuput from user
  
// Importing Classes/Files
import java.io.*;
  
// Importing Scanner Class
import java.util.Scanner;
  
// Class to check leap-year or not
public class GFG {
    
    // Driver Main code
    public static void main(String[] args)
    {
        // Considering any random year
        int year;
  
        // Taking input from user using Scanner Class
        // scn is an object made of Scanner Class
        Scanner scn = new Scanner(System.in);
        year = scn.nextInt();
  
        // 1st condition check- It is century leap year
        // 2nd condition check- It is leap year and not
        // century year
        if ((year % 400 == 0)
            || ((year % 4 == 0) && (year % 100 != 0))) {
            
            // Both conditions true- Print leap year
            System.out.println(year + " : Leap Year");
        }
  
        else {
            // Any condition fails- Print Non-leap year
            System.out.println(year + " : Non - Leap Year");
        }
    }
}

chevron_right


Input:

2012

Output:

2012 : Leap Year

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :