Java Program to Find a Missing Number in an Array

In the previous article, we have seen Java Program to Find the Common Strings in Two String Arrays

In this article we will see how to find a missing number in an array using Java Language.

Java Program to Find a Missing Number in an Array

Array is a data structure which stores a fixed size sequential collection of values of single type. Where with every array elements/values memory location is associated. Each array elements have it’s own index where array index starts from 0.

In Array set of variables referenced by a single variable name and it’s array index position. It is also called as a container object which contains elements of similar type.

Declaration of an array:

dataType[] arrayName; (or)                              //Declaring an array
dataType []arrayName; (or)
dataType arr[];

Instantiation of an Array:

arrayName = new datatype[size];                    //Allocating memory to array

Combining both Statements in One:

dataType[] arrayName = new dataType[size] //Declaring and Instantiating array

Initialization of an Array:

arrayName[index-0]= arrayElement1             //Initializing the array

...

arrayName[index-s]= arrayElementS

Combining all Statements in One:

dataType arrayName[ ]={e1,e2,e3};               //declaration, instantiation and initialization

Let’s see different ways to find a missing number in an array.

Method-1: Java Program to Find a Missing Number in an Array By Using summation formula (Static Input)

Approach:

  • Static array taken.
  • Calculate the sum of first n natural numbers as arraySum= n*(n+1)/2
  • Traverse the array from start to end.
  • Update the value of sum as arraySum -= array[i]
  • Return the variable arraySum.

Program:

public class MissingNum 
{
    //Driver method
    public static void main(String[] args) 
    {
        //An array declared and initialized
        int[] arr = {1, 2, 4, 5, 6, 7};
        //findMissing() method called
        System.out.println("The missing number is : "+ findMissing(arr));
    }
    
    //findMissing() user defined method
    //it willfind the missing number
    public static int findMissing(int arr[]) 
    {
        // calculating the sum upto n integers
        int arraySum = (arr[arr.length-1] * (arr[arr.length-1] + 1)) / 2;
        for (int i : arr) 
        {
            arraySum -= i;
        }
        return arraySum;
    }
}
Output:

The missing number is : 3

Method-2: Java Program to Find a Missing Number in an Array By Using summation formula (Dynamic Input)

Approach:

  • Dynamic array taken.
  • Calculate the sum of first n natural numbers as arraySum= n*(n+1)/2
  • Traverse the array from start to end.
  • Update the value of sum as arraySum -= array[i]
  • Return the variable arraySum.

Program:

import java.util.*;

public class MissingNum 
{
    //Driver method
    public static void main(String[] args) 
    {
        //Scanner class object created
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter number of elements in the array : ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        
        // initializing the array elements
        System.out.println("Enter Array elements : ");
        for (int i = 0; i < n; i++) 
        {
            arr[i] = sc.nextInt();
        }
        
        //calling the findMissing() user defined method
        System.out.println("Missing number is : "+findMissing(arr));

    }
    
    //findMissing() user defined method
    //it willfind the missing number
    public static int findMissing(int arr[]) 
    {
        // calculating the sum upto n integers
        int arraySum = (arr[arr.length-1] * (arr[arr.length-1] + 1)) / 2;
        for (int i : arr) 
        {
            arraySum -= i;
        }
        return arraySum;
    }
}
Output:

Enter number of elements in the array : 5
Enter Array elements : 1 2 4 5 6
Missing number is : 3

Practice Java programming from home without using any fancy software just by tapping on this Simple Java Programs for Beginners tutorial.

Related Java Programs: