Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

Java Array Exercises: Separate even and odd numbers of a given array of integers

Java Array: Exercise-52 with Solution

Write a Java program to separate even and odd numbers of a given array of integers. Put all even numbers first, and then odd numbers.

Pictorial Presentation:

Java Array Exercises: Separate even and odd numbers of a given array of integers

Sample Solution:

Java Code:

import java.util.Arrays;
public class Main
{
	
	 public static void main (String[] args)
     {
        int nums[] = {20, 12, 23, 17, 7, 8, 10, 2, 1, 0};
        int result[];
        System.out.println("Original Array ");
        System.out.println(Arrays.toString(nums));

        result = separate_odd_even(nums);
 
        System.out.print("Array after separation ");
        System.out.println(Arrays.toString(result));
    }
	
    static int [] separate_odd_even(int arr[])
    {
        int left_side = 0, right_side = arr.length - 1;
        while (left_side < right_side)
        {
            while (arr[left_side]%2 == 0 && left_side < right_side)
                left_side++;
 
            while (arr[right_side]%2 == 1 && left_side < right_side)
                right_side--;
 
            if (left_side < right_side)
            {
                int temp = arr[left_side];
                arr[left_side] = arr[right_side];
                arr[right_side] = temp;
                left_side++;
                right_side--;
            }
        }
        return arr;
    }
}

Sample Output:

                                                                              
Original Array 
[20, 12, 23, 17, 7, 8, 10, 2, 1, 0]
Array after separation [20, 12, 0, 2, 10, 8, 7, 17, 1, 23]

Flowchart:

Flowchart: Separate even and odd numbers of a given array of integers

Visualize Java code execution (Python Tutor):


Java Code Editor:

Improve this sample solution and post your code through Disqus

Previous: Write a Java program to separate 0s on left side and 1s on right side of an array of 0s and 1s in random order.
Next: Write a Java program to replace every element with the next greatest element (from right side) in a given array of integers.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Java: Tips of the Day

How to sort an ArrayList?

Collections.sort(testList);
Collections.reverse(testList);

That will do what you want. Remember to import Collections though!

Ref: https://bit.ly/32urdSe