WordProcessing.java

  1. package org.drip.zen.text;

  2. public class WordProcessing {

  3.     public static boolean IsVowel (
  4.         char alphabet)
  5.     {
  6.         boolean isVowel = false;

  7.         if (alphabet == 'a' || alphabet == 'A')
  8.             isVowel = true;

  9.         if (alphabet == 'e' || alphabet == 'E')
  10.             isVowel = true;

  11.         if (alphabet == 'i' || alphabet == 'I')
  12.             isVowel = true;

  13.         if (alphabet == 'o' || alphabet == 'O')
  14.             isVowel = true;

  15.         if (alphabet == 'u' || alphabet == 'U')
  16.             isVowel = true;

  17.         return isVowel;
  18.     }

  19.     public static int CountVowels (
  20.         final String word)
  21.     {
  22.         int numberOfVowels = 0;
  23.         int alphabetCounter = 0;

  24.         while (alphabetCounter < word.length())
  25.         {
  26.             char wordAlphabet = word.charAt (alphabetCounter);

  27.             if (IsVowel (wordAlphabet))
  28.                 numberOfVowels = numberOfVowels + 1;

  29.             alphabetCounter = alphabetCounter + 1;
  30.         }

  31.         return numberOfVowels;
  32.     }

  33.     public static boolean ContainsWord (
  34.         String mainWord,
  35.         String containedWord)
  36.     {
  37.         boolean contained = false;

  38.         for (int mainCounter = 0; mainCounter < mainWord.length() - containedWord.length(); mainCounter = mainCounter + 1)
  39.         {
  40.             int numAlphabetsMatch = 0;
  41.            
  42.             for (int containedCounter = 0; containedCounter < containedWord.length(); containedCounter = containedCounter + 1)
  43.             {
  44.                 if (mainWord.charAt (mainCounter + containedCounter) == containedWord.charAt (containedCounter))
  45.                     numAlphabetsMatch = numAlphabetsMatch + 1;
  46.             }

  47.             if (numAlphabetsMatch == containedWord.length())
  48.                 contained = true;
  49.         }

  50.         return contained;
  51.     }

  52.     public static boolean ContainsWord2 (
  53.         String mainWord,
  54.         String containedWord)
  55.     {
  56.         boolean contained = false;

  57.         int mainWordSize = mainWord.length();

  58.         char[] mainLetters = mainWord.toCharArray();

  59.         int containedWordSize = containedWord.length();

  60.         char[] containedLetters = containedWord.toCharArray();

  61.         if (mainWordSize < containedWordSize)
  62.             return false;

  63.         for (int mainCounter = 0; mainCounter < mainWordSize - containedWordSize; mainCounter = mainCounter + 1)
  64.         {
  65.             int numAlphabetsMatch = 0;
  66.            
  67.             for (int containedCounter = 0; containedCounter < containedWordSize; containedCounter = containedCounter + 1)
  68.             {
  69.                 if (mainLetters[mainCounter + containedCounter] != containedLetters[containedCounter])
  70.                     break;

  71.                 numAlphabetsMatch = numAlphabetsMatch + 1;
  72.             }

  73.             if (numAlphabetsMatch == containedWordSize)
  74.                 contained = true;
  75.         }

  76.         return contained;
  77.     }

  78.     public static int ContainedWordCount (
  79.         String mainWord,
  80.         String containedWord)
  81.     {
  82.         int containedWordCount = 0;

  83.         int mainWordSize = mainWord.length();

  84.         char[] mainLetters = mainWord.toCharArray();

  85.         int containedWordSize = containedWord.length();

  86.         char[] containedLetters = containedWord.toCharArray();

  87.         if (mainWordSize < containedWordSize)
  88.             return 0;

  89.         for (int mainCounter = 0; mainCounter < mainWordSize - containedWordSize; mainCounter = mainCounter + 1)
  90.         {
  91.             int numAlphabetsMatch = 0;
  92.            
  93.             for (int containedCounter = 0; containedCounter < containedWordSize; containedCounter = containedCounter + 1)
  94.             {
  95.                 if (mainLetters[mainCounter + containedCounter] != containedLetters[containedCounter])
  96.                     break;

  97.                 numAlphabetsMatch = numAlphabetsMatch + 1;
  98.             }

  99.             if (numAlphabetsMatch == containedWordSize)
  100.                 containedWordCount = containedWordCount + 1;
  101.         }

  102.         return containedWordCount;
  103.     }

  104.     public static final void main (
  105.         String[] args)
  106.     {
  107.         String myWord = "New York City, New York";

  108.         int vowelsInWord = CountVowels (myWord);

  109.         System.out.println ("\tNumber of Vowels in " + myWord + " is " + vowelsInWord);

  110.         String myContainedWord = "City";

  111.         System.out.println ("\tIs " + myContainedWord + " inside " + myWord + "? " + ContainsWord2 (myWord, myContainedWord));

  112.         myContainedWord = "new";

  113.         System.out.println ("\tIs " + myContainedWord + " inside " + myWord + "? " + ContainsWord2 (myWord, myContainedWord));

  114.         System.out.println ("\tHow many '" + myContainedWord + "' in '" + myWord + "'? " + ContainedWordCount (myWord, myContainedWord));
  115.     }
  116. }