StringFunctions.java

  1. package org.drip.zen.juice;

  2. /*
  3.  * 1) What we've seen so far - Functions, Conditionals, Loops
  4.  * 2) Primitive Data Types Review
  5.  * 3) More involved Objects - Strings - Collection of Letters side by side - example
  6.  * 4) Display the Letters in a String
  7.  * 5) Vowels Count
  8.  * 6) Consonant Count
  9.  * 7) Word Count
  10.  * 8) Word Containment - Describe
  11.  * 9) Word Containment - Step Through
  12.  * 10) Word Containment - Edge Cases
  13.  */

  14. public class StringFunctions {

  15.     static void DisplayLetters (String word)
  16.     {
  17.         char[] letters = word.toCharArray();

  18.         int wordSize = letters.length;

  19.         for (int i = 0; i < wordSize; i = i + 1)
  20.         {
  21.             System.out.println (letters[i]);
  22.         }
  23.     }

  24.     static int VowelCount (String word)
  25.     {
  26.         char[] letters = word.toCharArray();

  27.         int wordSize = letters.length;
  28.         int numberOfVowels = 0;

  29.         for (int i = 0; i < wordSize; i = i + 1)
  30.         {
  31.             char alphabet = letters[i];

  32.             if (alphabet == 'a' || alphabet == 'e' || alphabet == 'i' || alphabet == 'o' || alphabet == 'u')
  33.             {
  34.                 numberOfVowels = numberOfVowels + 1;
  35.             }
  36.         }

  37.         return numberOfVowels;
  38.     }

  39.     static int ConsonantCount (String word)
  40.     {
  41.         char[] letters = word.toCharArray();

  42.         int wordSize = letters.length;
  43.         int numberOfVowels = 0;

  44.         for (int i = 0; i < wordSize; i = i + 1)
  45.         {
  46.             char alphabet = letters[i];

  47.             if (alphabet == 'b' || alphabet == 'c' || alphabet == 'd' || alphabet == 'f' || alphabet == 'g' || alphabet == 'h' ||
  48.                 alphabet == 'j' || alphabet == 'k' || alphabet == 'l' || alphabet == 'm' || alphabet == 'n' || alphabet == 'p' ||
  49.                 alphabet == 'q' || alphabet == 'r' || alphabet == 's' || alphabet == 't' || alphabet == 'v' || alphabet == 'w' ||
  50.                 alphabet == 'x' || alphabet == 'y' || alphabet == 'z')
  51.             {
  52.                 numberOfVowels = numberOfVowels + 1;
  53.             }
  54.         }

  55.         return numberOfVowels;
  56.     }

  57.     static int WordCount (String sentence)
  58.     {
  59.         char[] letters = sentence.toCharArray();

  60.         int sentenceSize = letters.length;
  61.         int numberOfWords = 1;

  62.         for (int i = 0; i < sentenceSize; i = i + 1)
  63.         {
  64.             char alphabet = letters[i];

  65.             if (alphabet == ' ')
  66.             {
  67.                 numberOfWords = numberOfWords + 1;
  68.             }
  69.         }

  70.         return numberOfWords;
  71.     }

  72.     public static boolean SecondWordInFirst (String firstWord, String secondWord)
  73.     {
  74.         char[] firstWordLetters = firstWord.toCharArray();

  75.         int firstWordSize = firstWordLetters.length;

  76.         char[] secondWordLetters = secondWord.toCharArray();

  77.         int secondWordSize = secondWordLetters.length;

  78.         // if (firstWordSize < secondWordSize) return false;

  79.         boolean secondInsideFirst = false;

  80.         for (int firstWordCounter = 0; firstWordCounter <= firstWordSize - secondWordSize; firstWordCounter = firstWordCounter + 1)
  81.         {
  82.             int numberofLettersMatch = 0;

  83.             for (int secondWordCounter = 0; secondWordCounter < secondWordSize; secondWordCounter = secondWordCounter + 1)
  84.             {
  85.                 if (firstWordLetters[firstWordCounter + secondWordCounter] == secondWordLetters[secondWordCounter])
  86.                 {
  87.                     numberofLettersMatch = numberofLettersMatch + 1;
  88.                 }
  89.             }

  90.             if (numberofLettersMatch == secondWordSize)
  91.             {
  92.                 secondInsideFirst = true;
  93.             }
  94.         }

  95.         return secondInsideFirst;
  96.     }

  97.     public static void main (String[] input)
  98.     {
  99.         String myWord = "elephant";

  100.         DisplayLetters (myWord);

  101.         int vowelsInWord = VowelCount (myWord);

  102.         System.out.println ("\tNumber of Vowels in '" + myWord + "'    : " + vowelsInWord);

  103.         int consonantsInWord = ConsonantCount (myWord);

  104.         System.out.println ("\tNumber of Consonants in '" + myWord + "': " + consonantsInWord);

  105.         String mySentence = "he who pays the piper plays the tune";

  106.         int wordsInSentence = WordCount (mySentence);

  107.         System.out.println ("\tNumber of Words in '" + mySentence + "': " + wordsInSentence);

  108.         String myFirstWord = "bold";
  109.         String mySecondWord = "old";

  110.         boolean isSecondInsideFirst = SecondWordInFirst (myFirstWord, mySecondWord);

  111.         System.out.println ("\tIs '" + mySecondWord + "' in '" + myFirstWord + "'? " + isSecondInsideFirst);
  112.     }
  113. }