StringFunctions.java
- package org.drip.zen.juice;
- /*
- * 1) What we've seen so far - Functions, Conditionals, Loops
- * 2) Primitive Data Types Review
- * 3) More involved Objects - Strings - Collection of Letters side by side - example
- * 4) Display the Letters in a String
- * 5) Vowels Count
- * 6) Consonant Count
- * 7) Word Count
- * 8) Word Containment - Describe
- * 9) Word Containment - Step Through
- * 10) Word Containment - Edge Cases
- */
- public class StringFunctions {
- static void DisplayLetters (String word)
- {
- char[] letters = word.toCharArray();
- int wordSize = letters.length;
- for (int i = 0; i < wordSize; i = i + 1)
- {
- System.out.println (letters[i]);
- }
- }
- static int VowelCount (String word)
- {
- char[] letters = word.toCharArray();
- int wordSize = letters.length;
- int numberOfVowels = 0;
- for (int i = 0; i < wordSize; i = i + 1)
- {
- char alphabet = letters[i];
- if (alphabet == 'a' || alphabet == 'e' || alphabet == 'i' || alphabet == 'o' || alphabet == 'u')
- {
- numberOfVowels = numberOfVowels + 1;
- }
- }
- return numberOfVowels;
- }
- static int ConsonantCount (String word)
- {
- char[] letters = word.toCharArray();
- int wordSize = letters.length;
- int numberOfVowels = 0;
- for (int i = 0; i < wordSize; i = i + 1)
- {
- char alphabet = letters[i];
- if (alphabet == 'b' || alphabet == 'c' || alphabet == 'd' || alphabet == 'f' || alphabet == 'g' || alphabet == 'h' ||
- alphabet == 'j' || alphabet == 'k' || alphabet == 'l' || alphabet == 'm' || alphabet == 'n' || alphabet == 'p' ||
- alphabet == 'q' || alphabet == 'r' || alphabet == 's' || alphabet == 't' || alphabet == 'v' || alphabet == 'w' ||
- alphabet == 'x' || alphabet == 'y' || alphabet == 'z')
- {
- numberOfVowels = numberOfVowels + 1;
- }
- }
- return numberOfVowels;
- }
- static int WordCount (String sentence)
- {
- char[] letters = sentence.toCharArray();
- int sentenceSize = letters.length;
- int numberOfWords = 1;
- for (int i = 0; i < sentenceSize; i = i + 1)
- {
- char alphabet = letters[i];
- if (alphabet == ' ')
- {
- numberOfWords = numberOfWords + 1;
- }
- }
- return numberOfWords;
- }
- public static boolean SecondWordInFirst (String firstWord, String secondWord)
- {
- char[] firstWordLetters = firstWord.toCharArray();
- int firstWordSize = firstWordLetters.length;
- char[] secondWordLetters = secondWord.toCharArray();
- int secondWordSize = secondWordLetters.length;
- // if (firstWordSize < secondWordSize) return false;
- boolean secondInsideFirst = false;
- for (int firstWordCounter = 0; firstWordCounter <= firstWordSize - secondWordSize; firstWordCounter = firstWordCounter + 1)
- {
- int numberofLettersMatch = 0;
- for (int secondWordCounter = 0; secondWordCounter < secondWordSize; secondWordCounter = secondWordCounter + 1)
- {
- if (firstWordLetters[firstWordCounter + secondWordCounter] == secondWordLetters[secondWordCounter])
- {
- numberofLettersMatch = numberofLettersMatch + 1;
- }
- }
- if (numberofLettersMatch == secondWordSize)
- {
- secondInsideFirst = true;
- }
- }
- return secondInsideFirst;
- }
- public static void main (String[] input)
- {
- String myWord = "elephant";
- DisplayLetters (myWord);
- int vowelsInWord = VowelCount (myWord);
- System.out.println ("\tNumber of Vowels in '" + myWord + "' : " + vowelsInWord);
- int consonantsInWord = ConsonantCount (myWord);
- System.out.println ("\tNumber of Consonants in '" + myWord + "': " + consonantsInWord);
- String mySentence = "he who pays the piper plays the tune";
- int wordsInSentence = WordCount (mySentence);
- System.out.println ("\tNumber of Words in '" + mySentence + "': " + wordsInSentence);
- String myFirstWord = "bold";
- String mySecondWord = "old";
- boolean isSecondInsideFirst = SecondWordInFirst (myFirstWord, mySecondWord);
- System.out.println ("\tIs '" + mySecondWord + "' in '" + myFirstWord + "'? " + isSecondInsideFirst);
- }
- }