Hello all! I am having an issue with a program I am writing for my Java class.

The program is designed to return the number of vowels or consonants of an inputted string. My problem seems that the program returns the memory location of the array and not the actual number.

Another problem I noticed is the counting class is being shown as being not used. However, this count is supposed to occur in the background. I am unsure of where I need to put it to call the class.

Below is my code.

The Main Class
Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package vowelcons;

import java.util.Scanner;

/**
 *
 * @author Matthew Wood
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String input;
        char selection;

        Scanner keyboard = new Scanner(System.in);
        System.out.println("Enter a string: ");
        input = keyboard.nextLine();

        VowelCons vc = new  VowelCons(input);

        do{
            selection = getMenuSelection();

            switch(Character.toLowerCase(selection)){
                case 'a': System.out.println("\nNumber of vowels: " + vc.getNumVowels());
                break;
                case 'b': System.out.println("\nNumber of consonants: " + vc.getNumConsonants());
                break;
                case 'c': System.out.println("\nNumber of vowels: " + vc.getNumVowels());
                          System.out.println("\nNumber of consonants: " + vc.getNumConsonants());
                break;
                case 'd': System.out.println("Enter a string: ");
                          input = keyboard.nextLine();
                          vc = new VowelCons(input);
            }
            }while(Character.toLowerCase(selection) != 'e');

        }


    public static char getMenuSelection(){
        String input;
        char selection;

        Scanner keyboard = new Scanner(System.in);

        System.out.println("a) Count the number of vowels in the string.");
        System.out.println("b) Count the number of consonants in the string.");
        System.out.println("c) Count both the vowels and consonants in the string.");
        System.out.println("d) Enter another string.");
        System.out.println("e) Exit the program.");

        input = keyboard.nextLine();
        selection = input.charAt(0);

        while(Character.toLowerCase(selection) < 'a' || Character.toLowerCase(selection) > 'e'){
            System.out.println("Only enter a,b,c,d, or e: ");
            input = keyboard.nextLine();
            selection = input.charAt(0);
        }
        return selection;
    }
}
The VowelsCons Class:
Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package vowelcons;

/**
 *
 * @author Matthew Wood
 */
public class VowelCons {
    private char [] vowels;
    private char [] consonants;
    private int numVowels = 0;
    private int numCons = 0;
    private String str;

    public VowelCons(String string){
            str = string;
    }


    public char[] getNumConsonants() {
        consonants = new char[]{'b','c','d','f','g','h','j','k','l',
        'm','n','p','q','r','s','t','v','w','x','y','z'};
        return consonants;
    }

    public char[] getNumVowels() {
        vowels = new char[]{'a','e', 'i','o','u'};
        return vowels;
    }

    private void countVowelsAndConsonants(int numVowels, int numCons){
        for (int i = 0; i < 100; i++) {
            char ch = str.charAt(i);
            if ((ch == 'a') || (ch == 'e') || (ch == 'i') || (ch == 'o') || (ch == 'u') ) {
                numVowels++;
            }

            else if (Character.isLetter(ch)) {
                numCons++;
            }
    }

    }
}
I do know the problem has to lie in where or how my array is declared or where it is positioned. I have read my textbook and other sources and I am still feeling a bit frustrated. Thank you all for any help!