public class CountLetters
{
  public static void main (String[] args)
  {
    TextReader inFile = new TextReader("sample.txt");
   
   // use positions 1..26 to count letters
   int[] letters = new int[27];
   char c1;
   int loop, total = 0;

   c1 = inFile.readChar();
   while (!inFile.eof())
   {
      if ('A' <= c1 && c1 <= 'Z')  // if c1 is upper case
         c1 = (char)(c1 + 32);     // change c1 to lower case
      if ('a' <= c1 && c1 <= 'z')  // if we have a letter...
      {
         letters[c1 - 96]++;  // if c1 == 'a', 97-96 = 1, etc.
         total++;
      }
      c1 = inFile.readChar();
   }
   System.out.println("Count letters");
   System.out.println();
   c1 = 'a';
   for (loop = 1; loop <= 26; loop++)
   {
      System.out.println(c1 + " : " + letters[loop]);
      c1++;
   }
   System.out.println();
   System.out.println("Total letters = " + total);
  }
}

Back to Lesson 15 Examples

Back to Java Main Page