Vowel Count in Java

The challenge

Return the number (count) of vowels in the given string. 

We will consider a, e, i, o, u as vowels for this challenge (but not y).

The input string will only consist of lower case letters and/or spaces.

The solution in Java code

Option 1:

public class Vowels { public static int getCount(String str) { int vowelsCount = 0; char[] chars = str.toCharArray(); for (char c : chars) { if (c=='a' || c=='e' || c=='i' || c=='o' || c=='u') vowelsCount++; } return vowelsCount; } }
Code language: Java (java)

Option 2:

public class Vowels { public static int getCount(String str) { return str.replaceAll("(?i)[^aeiou]", "").length(); } }
Code language: Java (java)

Option 3:

public class Vowels { public static int getCount(String str) { return (int) str.chars().filter(c -> "aeiou".indexOf(c) >= 0).count(); } }
Code language: Java (java)

Test cases to validate our solution

import org.junit.Test; import static org.junit.Assert.assertEquals; public class VowelsTest { @Test public void testCase1() { assertEquals("Nope!", 5, Vowels.getCount("abracadabra")); } }
Code language: Java (java)
Tags:
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments