StudentPoll.java

C:\jhtp_10th\ch07\fig07_08>java StudentPoll
java.lang.ArrayIndexOutOfBoundsException: 14
   responses[19] = 14

Rating Frequency
     1         3
     2         4
     3         8
     4         2
     5         2


StudentPoll.java

// Fig. 7.8: StudentPoll.java
// Poll analysis program.

public class StudentPoll 
{
   public static void main(String[] args)
   {
      // student response array (more typically, input at run time)
      int[] responses = {1, 2, 5, 4, 3, 5, 2, 1, 3, 3, 1, 4, 3, 3, 3, 
         2, 3, 3, 2, 14};
      int[] frequency = new int[6]; // array of frequency counters

      // for each answer, select responses element and use that value 
      // as frequency index to determine element to increment
      for (int answer = 0; answer < responses.length; answer++)
      {
         try
         {
            ++frequency[responses[answer]];
         } 
         catch (ArrayIndexOutOfBoundsException e)
         {
            System.out.println(e); // invokes toString method
            System.out.printf("   responses[%d] = %d%n%n", 
               answer, responses[answer]);
         } 
      } 

      System.out.printf("%s%10s%n", "Rating", "Frequency");
   
      // output each array element's value
      for (int rating = 1; rating < frequency.length; rating++)
         System.out.printf("%6d%10d%n", rating, frequency[rating]);
   } 
} // end class StudentPoll


Maintained by John Loomis, updated Tue Jan 24 17:11:35 2017