AustinShyd

Untitled

Apr 22nd, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.84 KB | None | 0 0
  1. // DRIVER
  2.  
  3. // Austin Sheidy
  4. // 4.16.19
  5. // CH8PC4
  6.  
  7. import java.util.Scanner;
  8.  
  9. public class AS_WordAnalyzer_Driver {
  10.     public static void main(String[] args) {
  11.  
  12.         // initialize variables
  13.         int userContinue = 4;
  14.         int vowels = 0;
  15.         int consonants= 0;
  16.         char[] analyze;
  17.         String vowelOut = "are";
  18.         String consonantOut = "are";
  19.         String consonant = "consonants";
  20.         String vowel = "vowels";
  21.  
  22.         // initialize a scanner for ints and strings
  23.         Scanner keyboard = new Scanner(System.in);
  24.         Scanner keyboardInts = new Scanner(System.in);
  25.  
  26.         // while loop housing switch statement
  27.         while (userContinue != 5) {
  28.             switch (userContinue) {
  29.  
  30.                 // case 1 is to tell the user how many vowels are in the entered string after cleaning
  31.                 case 1:
  32.                     System.out.printf("There %s %s %s in that string. \n", vowelOut, vowels, vowel);
  33.                     AS_WordAnalyzer.displayMenu();
  34.                     if(keyboardInts.hasNextInt())
  35.                         userContinue = keyboardInts.nextInt();
  36.                     else
  37.                         userContinue = 5;
  38.                     break;
  39.  
  40.                 // case 2 is to tell the user how many consonants are in the entered string after cleaning
  41.                 case 2:
  42.                     System.out.printf("There %s %s %s in that string. \n", consonantOut, consonants, consonant);
  43.                     AS_WordAnalyzer.displayMenu();
  44.                     if(keyboardInts.hasNextInt())
  45.                         userContinue = keyboardInts.nextInt();
  46.                     else
  47.                         userContinue = 5;
  48.                     break;
  49.  
  50.                 // case 3 is to tell the user how many vowels and consonants are in the entered string after cleaning
  51.                 case 3:
  52.                     System.out.printf("There %s %s %s and %s %s in that string. \n", vowelOut, vowels, vowel,
  53.                             consonants, consonant);
  54.                     AS_WordAnalyzer.displayMenu();
  55.                     if(keyboardInts.hasNextInt())
  56.                         userContinue = keyboardInts.nextInt();
  57.                     else
  58.                         userContinue = 5;
  59.                     break;
  60.  
  61.                 // case 4 is the default case, gets input, cleans it, then establishes the variables for the rest of
  62.                 // the program to use.
  63.                 case 4:
  64.                     // reset the string outputs
  65.                     vowelOut = "are";
  66.                     consonantOut = "are";
  67.                     consonant = "consonants";
  68.                     vowel = "vowels";
  69.                     // get input from the user
  70.                     System.out.println("Input a string to be analyzed: ");
  71.                     String userInput = keyboard.nextLine();
  72.                     String userInputUpper = userInput.toUpperCase();
  73.                     // clean the string
  74.                     StringBuilder userInputNoSpecial = new StringBuilder("");
  75.                     for (int i = 0; i < userInputUpper.length(); i++) {
  76.                         if (Character.isLetter(userInputUpper.charAt(i))) {
  77.                             userInputNoSpecial.append(userInputUpper.charAt(i));
  78.                         }
  79.                     }
  80.                     // create char array
  81.                     analyze = userInputNoSpecial.toString().toCharArray();
  82.                     vowels = AS_WordAnalyzer.getVowels(analyze);
  83.                     consonants = AS_WordAnalyzer.getConsonants(analyze);
  84.                     // set the variables for the rest of the program
  85.                     if(vowels == 1){
  86.                         vowelOut = "is";
  87.                         vowel = "vowel";
  88.                     }
  89.                     if(consonants == 1) {
  90.                         consonantOut = "is";
  91.                         consonant = "consonant";
  92.                     }
  93.                     // see what the user wants to do
  94.                     AS_WordAnalyzer.displayMenu();
  95.                     if(keyboardInts.hasNextInt())
  96.                         userContinue = keyboardInts.nextInt();
  97.                     else
  98.                         userContinue = 5;
  99.                     break;
  100.  
  101.                     // default case kills the program if the user enters an int that is not a case
  102.                 default:
  103.                     userContinue = 5;
  104.                     break;
  105.             }
  106.         }
  107.     }
  108. }
  109.  
  110. // CLASS
  111.  
  112. // Austin Sheidy
  113. // 4.16.19
  114. // CH8PC4
  115.  
  116. public class AS_WordAnalyzer {
  117.     private static char[]vowelArray = {'A', 'E', 'I', 'O', 'U'};
  118.  
  119.     // Check to see if a character is a vowel
  120.     // This method is the equivalent of the word IN from Python
  121.     public static boolean isVowel(char character){
  122.         boolean vowel = false;
  123.         for(int i = 0; i < vowelArray.length; i++){
  124.             if(character == vowelArray[i]){
  125.                 vowel = true;
  126.             }
  127.         }
  128.         return vowel;
  129.     }
  130.  
  131.     // Check for number of vowels
  132.     public static int getVowels(char[] array){
  133.         int count = 0;
  134.         for(int i = 0; i < array.length; i++){
  135.             if(isVowel(array[i]))
  136.                 count++;
  137.         }
  138.         return count;
  139.     }
  140.  
  141.     // Check for number of consonants
  142.     public static int getConsonants(char[] array){
  143.         return (array.length - getVowels(array));
  144.     }
  145.  
  146.     // check for total number of letters
  147.     public static int getLetters(char[] array){
  148.         return array.length;
  149.     }
  150.  
  151.     public static void displayMenu(){
  152.         System.out.println("1. Count the number of vowels \n" +
  153.                 "2. Count the number of consonants \n" +
  154.                 "3. Count both vowels and consonants \n" +
  155.                 "4. Enter another string \n" +
  156.                 "5. Exit the program");
  157.     }
  158. }
Add Comment
Please, Sign In to add comment