Core Java

Finding Odd and Even Numbers in a Java Array

Identifying odd and even numbers is one of the fundamental concepts in programming. In Java, determining whether a number is odd or even is a straightforward task, typically done using the modulus operator. Let us delve into understanding how to work with a Java array to identify odd and even numbers.

1. Odd and Even Numbers and the Modulus Operator

In mathematics, an even number is any integer that is divisible by 2, meaning it has a remainder of 0 when divided by 2. Conversely, an odd number is any integer that, when divided by 2, leaves a remainder of 1. In Java, you can determine if a number is odd or even using the modulus operator (%). For any number n:

  • If n % 2 == 0, the number is even.
  • If n % 2 != 0, the number is odd.

2. Identifying Odd and Even Numbers Using Loops

The most straightforward way to identify odd and even numbers in an array is by iterating through the array using a loop. Below is an example of how to do this using a for loop.

public class OddEvenNumbers {
  public static void main(String[] args) {
    int[] numbers = {
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    };

    System.out.println("Even numbers:");
    for (int number: numbers) {
      if (number % 2 == 0) {
        System.out.print(number + " ");
      }
    }

    System.out.println("\nOdd numbers:");
    for (int number: numbers) {
      if (number % 2 != 0) {
        System.out.print(number + " ");
      }
    }
  }
}

2.1 Code Breakdown and output

The code defines a:

  • We declare an array numbers with values from 1 to 10.
  • We loop through the array using a for-each loop and check whether each number is even or odd using the modulus operator (%).
  • If the number is divisible by 2, it is printed as an even number; otherwise, it is an odd number.

When the above program is executed the following output is returned on the IDE console.

Even numbers:
2 4 6 8 10

Odd numbers:
1 3 5 7 9

3. Identifying Odd and Even Numbers Using Streams

Java 8 introduced the Streams API, which allows for a more functional approach to processing collections of objects. Using Streams, we can filter out odd and even numbers more cleanly and concisely.

import java.util.Arrays;

public class OddEvenStreams {
  public static void main(String[] args) {
    int[] numbers = {
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    };

    System.out.println("Even numbers:");
    Arrays.stream(numbers)
      .filter(n -> n % 2 == 0)
      .forEach(n -> System.out.print(n + " "));

    System.out.println("\nOdd numbers:");
    Arrays.stream(numbers)
      .filter(n -> n % 2 != 0)
      .forEach(n -> System.out.print(n + " "));
  }
}

3.1 Code Breakdown and output

The code defines a:

  • We use the Arrays.stream() method to create a stream from the array of numbers.
  • The filter() method is used to filter even numbers (n % 2 == 0) and odd numbers (n % 2 != 0).
  • forEach() is then used to print the filtered numbers.

When the above program is executed the following output is returned on the IDE console.

Even numbers:
2 4 6 8 10

Odd numbers:
1 3 5 7 9

4. Conclusion

Identifying odd and even numbers in Java is a simple task that can be approached in various ways. Using the modulus operator is the key to determining whether a number is odd or even. You can implement this logic using traditional loops or by taking advantage of Java’s functional programming features with the Streams API. Both methods are efficient and widely used in practice.

Yatin Batra

An experience full-stack engineer well versed with Core Java, Spring/Springboot, MVC, Security, AOP, Frontend (Angular & React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button