Java Program to delete Element ‘0’ if it is Present in an Integer Array

In this article we will see how to delete 0 value from an array of integers.

Java Program to delete Element ‘0’ if it is Present in an Integer 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 how to delete 0 value from an array.

Method-1: Java Program to delete Element ‘0’ if it is Present in an Integer Array Without Using an Extra Array

Approach:

  • Create scanner class object.
  • Ask user for input of array length.
  • Initialize the array with given size.
  • Ask the user for array elements.
  • Display the original array arr[].
  • Now call deleteZero() user defined method.
  • Inside this method declare a variable 'p'=0
  • Then iterate the array(by for loop) and check if any positive or negative element is found then store that in arr[p++]. Means we are not storing element value 0.
  • After the completion of the iteration(for loop) we will see arr[] now contains all positive and negative numbers where 'p' represents the new length of array.
  • Now print the new array of length 'p'.

Method:

import java.util.*;
public class Main
{    
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in); 
        System.out.print("Enter the number of elements in the array: "); 
        int num = sc.nextInt(); 
        int arr[] = new int[num]; 
        System.out.print("Enter the elements: "); 
        for (int i = 0; i < num; i++) 
        { 
        arr[i] = sc.nextInt(); 
        }
        
        // Displaying the array
        System.out.print("Original array : ");
        //printing the array
        for(int i = 0; i < arr.length; i++)
            System.out.print(arr[i]+" ");
        System.out.println();

        //calling the deleteZero() method
        //to check element 0 in array and delete that
        int k=deleteZero(arr);
        System.out.print("After deleting array element 0 from array : ");
        //printing the array
        for(int i = 0; i < k; i++)
            System.out.print(arr[i]+" ");
        System.out.println();
    }
    
     //deleteZero() method
    public static int deleteZero(int[] arr) 
    {
    int p = 0;
    //iterating the array
    for(int i = 0; i <arr.length; i++) 
    {
        //if element is negative or positive
        //then only we are storing that in arr[p], in same input array
        //which means we did not store element 0
        //so at last in the array all positive and negative numbers will be available and value '0' deleted
       if(arr[i] != 0) 
       {
           arr[p++] = arr[i];
       }
    }
    // input array holding the output data
    // 'p' is the final length of new array
    return p;
    }

}
Output:

Enter the number of elements in the array: 8
Enter the elements: 2 0 6 7 0 3 4 0
Original array : 2 0 6 7 0 3 4 0 
After deleting array element 0 from array : 2 6 7 3 4

Method-2: Java Program to delete Element ‘0’ if it is Present in an Integer Array By Using an Extra Array

Approach:

  • Approach is completely same as like above logic the only difference is that here we are storing the result in an extra array rather than the same input array.

Method:

import java.util.*;
public class Main
{    
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in); 
        System.out.print("Enter the number of elements in the array: "); 
        int num = sc.nextInt(); 
        int arr[] = new int[num]; 
        System.out.print("Enter the elements: "); 
        for (int i = 0; i < num; i++) 
        { 
        arr[i] = sc.nextInt(); 
        }
        
        // Displaying the array
        System.out.print("Original array : ");
        //printing the array
        for(int i = 0; i < arr.length; i++)
            System.out.print(arr[i]+" ");
        System.out.println();

        //calling the deleteZero() method
        //to check element value 0 in array and delete that
        deleteZero(arr);
    }
    
    //deleteZero() method
    public static void deleteZero(int[] arr) 
    {
    int[] outputArray = new int[arr.length];
    int p = 0;
    //iterating the array
    for(int i = 0; i < arr.length; i++) 
    {
        //if element is positive or negative
        //then only we are storing that in outputArray[p]
        //which means we did not store element '0'
        //so at last in the array all positive and negative numbers will be available and value '0' deleted
       if(arr[i] != 0) 
       {
           outputArray[p++] = arr[i];
       }
    }
    System.out.print("After deleting element 0 from array : ");
    //printing the array
    for(int i = 0; i < p; i++)
        System.out.print(outputArray[i]+" ");
    System.out.println();
   }

}
Output:

Enter the number of elements in the array: 10
Enter the elements: 20 -80 0 30 0 -30 40 0 0 70
Original array : 20 -80 0 30 0 -30 40 0 0 70 
After deleting element 0 from array : 20 -80 30 -30 40 70 

Guys who are serious about learning the concepts of the java programming language should practice this list of programs in java and get a good grip on it for better results in exams or interviews.