Java Program to Count Number of Vowels in a String

11 Mar, 2022
In java, the string is a sequence of characters and char is a single digit used to store variables. The char uses 2 bytes in java. In java, BufferedReader and InputStreamReader are used to read the input given by the user from the keyboard. Then readLine() is used for reading a line. The java.io package in java provides input and output through data streams, serialization, and the file system.
We can count the vowels in a string in two ways:
IterativeRecursive
Iterative
Recursive
Examples:
Input: GeeksForGeeks
Output: Total no of vowels in string are: 5

Input: ChETaN
Output: Total no of vowels in string are: 2
Method 1: Iterative 
Approach:
We will traverse through the string’s characters in a for loop starting from index 0 till size-1.
And check each character if it is a vowel or not and increment the count variable.
Java
// Java Program to Count Number of Vowels// in a String in a iterative way import java.io.*; public class vowel {    public static void main(String[] args)        throws IOException    {        String str = "GeeksForGeeks";        str = str.toLowerCase();        int count = 0;         for (int i = 0; i < str.length(); i++) {            // check if char[i] is vowel            if (str.charAt(i) == 'a' || str.charAt(i) == 'e'                || str.charAt(i) == 'i'                || str.charAt(i) == 'o'                || str.charAt(i) == 'u') {                // count increments if there is vowel in                // char[i]                count++;            }        }         // display total count of vowels in string        System.out.println(            "Total no of vowels in string are: " + count);    }}
Total no of vowels in string are: 5
  
Total no of vowels in string are: 5
 
Method 2: Recursive
 
Approach:
 
Check for the base condition if the length of the string is 1, then simply check for that single character if it is a vowel, then return 1 else return 0.
For dividing the whole string into substring to return the answer recursively, we will get the answer for the string starting from first till second last character.
And finally return the above answer plus the answer for the check of last character (1 if it is vowel or 0 if it is not)
 
Java
// Java Program to Count Number of Vowels// in a String in a recursive way import java.io.*; class GFG {     // isVowel() function returns 1 if the    // character is a vowel and 0 if it is not    static int isVowel(char chars)    {        if (chars == 'a' || chars == 'e' || chars == 'i'            || chars == 'o' || chars == 'u') {            return 1;        }        else {            return 0;        }    }     // recursive function to return the number    // of characters in a string    static int vowelno(String str, int l)    {        if (l == 1) {            return isVowel(str.charAt(l - 1));        }         return vowelno(str, l - 1)            + isVowel(str.charAt(l - 1));    }     public static void main(String[] args)        throws IOException    {        String str = "BufferedOutput";         str = str.toLowerCase();         System.out.println(            "Total number of vowels in string are:");         System.out.println(vowelno(str, str.length()));    }}
  
Total number of vowels in string are:
6
 
manobharathi93
Java-String-Programs
Picked
Technical Scripter 2020
Java
Java Programs
Technical Scripter
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.