Home
About
Projects
Contact
StringOperations.java
/**
 * Class to hold the methods that will be used with the String
 */

public class StringOperations
{
    //Fields
    private String string;

    /**
     * Constructor to get the String
     * @param string String to set string to
     */
    StringOperations(String string)
    {
        setString(string);
    }

    //Setters

    /**
     * Setter method for the string field
     * @param string String to set the string to
     */
    public void setString(String string)
    {
        this.string = string;
    }

    //Getters

    /**
     * Getter method for the string field
     * @return Returns the string as a String
     */
    public String getString()
    {
        return this.string;
    }

    //Instance methods

    /**
     * Method to get the number of vowels in a String
     * @return Returns the result as an int
     */
    public int getVowelCount()
    {
        //Creates a local variable of string and makes it lowercase, so it is easier to work with
        String string = getString().toLowerCase();

        //Number to hold the number of vowels
        int num = 0;

        //Loops for the length of the String
        for(int i = 0; i < string.length(); i++)
        {
            switch(string.charAt(i))
            {
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                    num += 1;
                    break;
            }
        }

        return num;
    }

    /**
     * Method to get the number of consonants in a String
     * @return Returns the result as an int
     */
    public int getConsonantCount()
    {
        //Number to hold the total number of letters in the string
        int num = 0;

        //Loops for the length of the String
        for(int i = 0; i < getString().length(); i++)
        {
            if(Character.isLetter(getString().charAt(i)))
            {
                num += 1;
            }
        }

        //If a letter is a vowel it isn't a consonant, so it subtracts the total vowels from total letters
        return num - getVowelCount();
    }

    /**
     * Methods to reverse the order of a String
     * @return Returns a new String that is reversed
     */
    public String backwards()
    {
        //Declares string to be used to hold the reversed original String
        String string = "";

        //Loops backwards for the length of the original String
        for(int i = getString().length() - 1; i >= 0; i--)
        {
            string += getString().charAt(i);
        }

        return string;
    }

    /**
     * Method to get the number of white space characters
     * @return Returns the result as an int
     */
    public int getWhiteSpace()
    {
        //Number to hold the number of white space characters
        int num = 0;

        //Loops for the length of the String
        for(int i = 0; i < getString().length(); i++)
        {
            if(Character.isSpaceChar(getString().charAt(i)))
            {
                num += 1;
            }
        }

        return num;
    }

    /**
     * Method to get the number of digits in a String
     * @return Returns the result as an int
     */
    public int getDigits()
    {
        //Number to hold the number of digits
        int num = 0;

        //Loops for the length of the String
        for(int i = 0; i < getString().length(); i++)
        {
            if(Character.isDigit(getString().charAt(i)))
            {
                num += 1;
            }
        }

        return num;
    }
}