Count the number of vowels in Java

Understanding Vowel Counting

Vowel counting involves determining the number of vowels (a, e, i, o, u) in a given string.

We will explore three different methods to count the vowels in a string using Java.

Method 1: Using a Loop

This method iterates through the string and counts each vowel.

import java.util.Scanner;

public class VowelCounter {
    public static int countVowels(String str) {
        int count = 0;
        str = str.toLowerCase();
        for (char ch : str.toCharArray()) {
            if ("aeiou".indexOf(ch) != -1) {
                count++;
            }
        }
        return count;
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = scanner.nextLine();
        System.out.println("Number of vowels: " + countVowels(str));
        scanner.close();
    }
}
            
Input: Hello World
Output: Number of vowels: 3

Method 2: Using Recursion

This method counts vowels recursively.

import java.util.Scanner;

public class VowelCounterRecursive {
    public static int countVowelsRecursive(String str, int index) {
        if (index == str.length()) return 0;
        char ch = Character.toLowerCase(str.charAt(index));
        int count = ("aeiou".indexOf(ch) != -1) ? 1 : 0;
        return count + countVowelsRecursive(str, index + 1);
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = scanner.nextLine();
        System.out.println("Number of vowels: " + countVowelsRecursive(str, 0));
        scanner.close();
    }
}
            
Input: Programming
Output: Number of vowels: 3

Method 3: Using Streams

This method uses Java Streams to count vowels efficiently.

import java.util.Scanner;

public class VowelCounterStream {
    public static long countVowelsStream(String str) {
        return str.toLowerCase().chars()
                .filter(ch -> "aeiou".indexOf(ch) != -1)
                .count();
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = scanner.nextLine();
        System.out.println("Number of vowels: " + countVowelsStream(str));
        scanner.close();
    }
}
            
Input: Count Vowels
Output: Number of vowels: 4
Strings

Below You will find some of the most important codes in languages like C, C++, Java, and Python. These codes are of prime importance for college semester exams and online tests.

Getting Started

Check whether a character is a vowel or consonant: C C++ Java Python

Check whether a character is an alphabet or not: C C++ Java Python

Find the ASCII value of a character: C C++ Java Python

Length of the string without using strlen() function: C C++ Java Python

Toggle each character in a string: C C++ Java Python

Count the number of vowels: C C++ Java Python

Remove the vowels from a string: C C++ Java Python

Check if the given string is Palindrome or not: C C++ Java Python

Print the given string in reverse order: C C++ Java Python

Remove all characters from string except alphabets: C C++ Java Python

Remove spaces from a string: C C++ Java Python

Replace a sub-string in a string: C C++ Java Python

Count common sub-sequences in two strings: C C++ Java Python

Compare two strings with wildcard support in one of them: C C++ Java Python

List all permutations of a given string in dictionary order: C C++ Java Python

Operations on Strings: C C++ Java Python