Java Solution for Find Numbers with Even Number of Digits
Given an array nums of integers, return how many of them contain an even number of digits.
Example 1 :-
Input: nums = [12,345,2,6,7896] Output: 2 Explanation: 12 contains 2 digits (even number of digits). 345 contains 3 digits (odd number of digits). 2 contains 1 digit (odd number of digits). 6 contains 1 digit (odd number of digits). 7896 contains 4 digits (even number of digits). Therefore only 12 and 7896 contain an even number of digits.
Example 2 :-
Input: nums = [555,901,482,1771] Output: 1 Explanation: Only 1771 contains an even number of digits.
So lets see solution in Java :-
Solution 1 :-
import java.util.Scanner;
public class FindNumberswithEvenNumberofDigits {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter Array Size");
int arraySize = sc.nextInt();
int[] array = new int[arraySize];
System.out.println("Enter Array Values");
for (int i = 0; i < arraySize; i++) {
array[i] = sc.nextInt();
}
int totalEven = 0 ;
for (int number : array) {
String s = String.valueOf(number);
if (s.length() % 2 == 0) {
totalEven++;
}
}
System.out.println(totalEven);
}
}
Explanation :-
- Get size of array using scanner.
- Declare array and assign its value from user.
- Loop through array values and convert into string.
- Check if number is Even or not, If number is even then increment totalEven variable by 1.
- Print totalEven value.
Solution 2 :-
import java.util.Scanner;
public class FindNumberswithEvenNumberofDigits {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter Array Size");
int arraySize = sc.nextInt();
int[] array = new int[arraySize];
System.out.println("Enter Array Values");
for (int i = 0; i < arraySize; i++) {
array[i] = sc.nextInt();
}
int totalEven = 0;
int count = 0;
for (int i = 0; i < arraySize; i++) {
int number = array[i];
while(number > 0) {
number = number / 10;
count++;
}
if (count % 2 == 0) {
totalEven++;
}
count = 0;
}
System.out.println(totalEven);
}
}
Explanation :-
- Get Array Size from user.
- Insert values in array using for loop.
- Loop through array values.
- Divide the number using 10 until number become 0. And increment count by one. If number is Even then count will store even number otherwise Odd.
- Last, check if (number % 2) become is 0 then it is Even otherwise Odd. and increment totalEven variable one if number is Even.
Happy Coding.
Other Problem and Solution in Java you may like :-
- Java Generics Hackerrank Solution with Explnation
- Find and Print all duplicate characters in given string in Java
Comments
Post a Comment