Java program to get the sum of even numbers in an array:
Even numbers are numbers that are completely divisible by 2. In this post, we will learn how we can find out the sum of all even numbers in an array in Java.
We will write one Java program that will take the numbers as inputs from the user, insert them in an integer array, and finally print out the total sum of all even numbers of the array.
Below are the steps of the algorithm that we will use:
Algorithm to use:
- Take the total count of numbers as input from the user.
- Create one integer
arrayof size equal to the total count as entered by the user. - Ask the user to enter the numbers for the array one by one. Read the numbers and add them to the integer array.
- Initialize one
sumvariable to hold the total sum of all even numbers. Initialize this variable as0. - Run one loop to iterate over the numbers of the array. For each number, check if it is an even number or not. If it is an even number, add it to the value of the
sumvariable. Once the loop ends, thesumvariable will hold the total sum of all the even numbers of the array. - Print the value of the
sumvariable at the end of the program.
We can use a for loop or while loop to solve this problem. In this post, I will show you examples of both for and while loops.
Example 1: Find the total sum of even numbers in an array using a for loop in Java:
In this example, we will use a for loop to find the total sum.
import java.util.Scanner;
public class ExampleOne {
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {
System.out.println("Enter the size of the array:");
int size = sc.nextInt();
int[] intArr = new int[size];
System.out.println("Enter the elements of the array separated by space:");
for (int i = 0; i < size; i++) {
intArr[i] = sc.nextInt();
}
int sum = 0;
for (int i = 0; i < size; i++) {
if (intArr[i] % 2 == 0) {
sum += intArr[i];
}
}
System.out.println("Sum of all even numbers in the array is: " + sum);
}
}
}Download it on GitHub
Here,
- It asks the user to enter the size of the array and this value is assigned to the variable
size. It uses theScannerobjectscto read the user inputs. - The
intArris an integer array of size equal to thesizevariable, i.e. equal to the user input size. - Using a
forloop, it reads the elements of the array from the user. - The
sumvariable is initialized as 0. This variable will hold the sum of all even numbers of the array. - Using another
forloop, we are iterating over the elements of the arrayintArr. On each iteration, it checks if the current number is even or not. If it is an even number, it adds the value to thesumvariable. - Finally, it prints the calculated
sumi.e. the sum of all even numbers in the array.
It will give outputs as below:
Enter the size of the array:
5
Enter the elements of the array separated by space:
1 2 3 4 5
Sum of all even numbers in the array is: 6Example 2: Finding the sum of all even numbers using a while loop:
We can also implement the same program using a while loop as shown below:
import java.util.Scanner;
public class ExampleTwo {
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {
System.out.println("Enter the size of the array:");
int size = sc.nextInt();
int[] intArr = new int[size];
System.out.println("Enter the elements of the array separated by space:");
for (int i = 0; i < size; i++) {
intArr[i] = sc.nextInt();
}
int sum = 0;
int i = 0;
while (i < size) {
if (intArr[i] % 2 == 0) {
sum += intArr[i];
}
i++;
}
System.out.println("Sum of all even numbers in the array is: " + sum);
}
}
}Download it on GitHub
It will print output similar to the above program.
Enter the size of the array:
4
Enter the elements of the array separated by space:
1 2 3 4
Sum of all even numbers in the array is: 6The difference between a for loop and while loop is that the while loop checks the condition first before it iterates over its body. In the above example, it checks if the current value of i is smaller than size or not. If yes, it moves to the body part. At the end of the loop, it increments the value of i by 1.
Method 3: Finding the sum of even numbers using a different method:
We can put the code that is used to find the sum of all even numbers in the array in a separate method and call that method from the main method:
import java.util.Scanner;
public class ExampleThree {
public static int findEvenSum(int[] arr, int size) {
int sum = 0;
int i = 0;
while (i < size) {
if (arr[i] % 2 == 0) {
sum += arr[i];
}
i++;
}
return sum;
}
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {
System.out.println("Enter the size of the array:");
int size = sc.nextInt();
int[] intArr = new int[size];
System.out.println("Enter the elements of the array separated by space:");
for (int i = 0; i < size; i++) {
intArr[i] = sc.nextInt();
}
System.out.println("Sum of all even numbers in the array is: " + findEvenSum(intArr, size));
}
}
}Download it on GitHub
Here,
- The
findEvenSummethod is used to find the sum of all even numbers in the array. - It uses a
whileloop to find the sum. It returns that value to themainfunction.
It will print a similar output.
Example 4: By converting the array to a stream:
We can convert the array to a stream with the Arrays.stream method. The filter method can be used to filter out the even numbers and the sum method returns the sum of all filtered even values. The following program shows how we can find the sum by converting the array to a stream:
import java.util.Arrays;
import java.util.Scanner;
public class ExampleFour {
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {
System.out.println("Enter the size of the array:");
int size = sc.nextInt();
int[] intArr = new int[size];
System.out.println("Enter the elements of the array separated by space:");
for (int i = 0; i < size; i++) {
intArr[i] = sc.nextInt();
}
int sum = Arrays.stream(intArr).filter(item -> item %2 == 0).sum();
System.out.println("Sum of all even numbers in the array is: " + sum);
}
}
}Download it on GitHub
You might also like:
- Java program to check if the first character of a string is number/digit
- How to get a random line from a file in Java
- How to get the last element of a stream in Java
- Java program to check if a user input number is strong or not
- Java program to find the factors of a number
- Java Program to find the first digit of a positive or negative number
