Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(JAVA) Write a program that reads a file and counts the number of times the vowe

ID: 3781816 • Letter: #

Question

(JAVA) Write a program that reads a file and counts the number of times the vowels ‘A’, ‘E’, ‘I’, ‘O’, ‘U’ occurs exactly in that order.

- It ignores consonants

- It ignores any type of space

- It ignores case

- The only thing it cannot ignore is if another vowel occurs out of order

These count

- AEIOU

- aeiou

- hahehihohu

- Take it out

These do not

- AEIuO

- Taco is good

- Take it over

Hints and Tips:

It may be a good idea to build one long string and use .charAt to examine each loop

There may be many nested loops

The file reads as:

Example Dialog:

The file blah.txt has "AEIOU" in order 7 times

Explanation / Answer

package pkg;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileExample1 {

   private static final String FILENAME = "E:\test\filename.txt";

   public static void main(String[] args) {

       BufferedReader br = null;
       FileReader fr = null;

       try {

           fr = new FileReader(FILENAME);
           br = new BufferedReader(fr);

           int count=0;
           String sCurrentLine;

           br = new BufferedReader(new FileReader(FILENAME));
          
           while ((sCurrentLine = br.readLine()) != null) {
           int a = 0, e = 0,i = 0,o = 0,u = 0;
           String[] splited = sCurrentLine.split("(?!^)");
               for(int j = 0; j < sCurrentLine.length() ; j++){
               if(splited[j].equals("A") || splited[j].equals("a") && a == 0)
                                       a++;
                       else if(a>0){
                           if(a ==1){
                               if(splited[j].equals("E") || splited[j].equals("e"))
                                   {
                                       e++;
                                       a--;
                                   }
                                   else if(splited[j].equals("A") || splited[j].equals("a"))
                                   {
                                       //e++;
                                       a--;
                                   }
                           }
                           else
                           a--;
                       }
                       else if(e>0){
                           if(e ==1){
                               if(splited[j].equals("I") || splited[j].equals("i"))
                                   {
                                       i++;
                                       e--;
                                   }
                           }
                           else
                           e--;
                       }
                       else if(i>0){
                           if(i ==1){
                               if(splited[j].equals("O") || splited[j].equals("o"))
                                   {
                                       o++;
                                       i--;
                                   }
                           }
                           else
                           o--;
                       }
                       else if(o>0){
                           if(o ==1){
                               if(splited[j].equals("U") || splited[j].equals("u"))
                                   {  
                                       o--;
                                       u++;
                                       count++;
                                   }
                           }
                           else
                           u--;
                       }
                                  
                  
               }

              
           }
           System.out.println("The file blah.txt has "AEIOU" in order "+ count +" times");

       } catch (IOException e) {

           e.printStackTrace();

       } finally {

           try {

               if (br != null)
                   br.close();

               if (fr != null)
                   fr.close();

           } catch (IOException ex) {

               ex.printStackTrace();

           }

       }

   }

}

filename.txt