My example text:
This-File-Contains-184-Characters. The-Most-Frequent-Letter-Is-"E". The-File-Includes-2-Upper-Case-Occurences And-22-Lower-Case-Occurences-Of-"E". The-Total-Number-Of-Its-Occurences-Is-24.
The example letter I'm using is "e".
My code:
import java.io.*;
import java.util.Scanner;
public class Homework4a
{
public static void main(String[] args) throws IOException
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter name of the input file: ");
String fileName = keyboard.nextLine();
System.out.println("Enter letter: ");
char letter = keyboard.nextLine().charAt(0);
File file = new File(fileName);
Scanner scan = new Scanner(new FileReader(file));
try
{
char lowerCaseLetter = (new Character(letter)).toString().toLowerCase().charAt(0);
char upperCaseLetter = (new Character(letter)).toString().toUpperCase().charAt(0);
int lowerCounter=0;
int upperCounter = 0;
while(scan.hasNextLine())
{
String input = scan.nextLine();
for(int i=0; i<input.length(); i++)
{
if(input.charAt(i)== lowerCaseLetter)
{
lowerCounter++;
}
else if(input.charAt(i)== upperCaseLetter)
{
upperCounter++;
}
}
}
int totalLowerCounter = lowerCounter;
int totalUpperCounter = upperCounter;
int totalCounterSum = totalLowerCounter + totalUpperCounter;
System.out.println("The lower-case letter " + lowerCaseLetter + " occurs " + totalLowerCounter + " times");
System.out.println("The upper-case letter " + upperCaseLetter + " occurs " + totalUpperCounter + " times");
System.out.println("The total number of occurrences (\"" + lowerCaseLetter + "\" and \"" + upperCaseLetter +
"\") is " + (totalCounterSum));
}
finally
{
scan.close();
}
}
}