(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
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.