// This class uses an array to represent the frequency counts. // Barry Cornelius, 19 June 2000 import java.io. BufferedReader; import java.io. IOException; public class VendingMachine { private BufferedReader iKeyboard; private int iNumberOfDrinks; private int[] iFrequencyCounts; public VendingMachine(final BufferedReader pKeyboard, final int pNumberOfDrinks) { iKeyboard = pKeyboard; iNumberOfDrinks = pNumberOfDrinks; } public void setFrequencyCountsToZero() { iFrequencyCounts = new int[iNumberOfDrinks + 1]; for (int tDrinkNumber = 1; tDrinkNumber<=iNumberOfDrinks; tDrinkNumber++) { iFrequencyCounts[tDrinkNumber] = 0; } } public void readInSelectionsAndUpdateFrequencyCounts() throws IOException { while (true) { final String tLine = iKeyboard.readLine(); if (tLine.equals("")) { break; } final int tDrinkSelection = Integer.parseInt(tLine); if (tDrinkSelection<1 || tDrinkSelection>iNumberOfDrinks) { System.out.println("The value is out of range"); System.exit(1); } // tDrinkSelection>=1 && tDrinkSelection<=iNumberOfDrinks iFrequencyCounts[tDrinkSelection] += 1; } } //BJCHEREFIRST public void outputFrequencyCounts() { for (int tDrinkNumber = 1; tDrinkNumber<=iNumberOfDrinks; tDrinkNumber++) { System.out.println(tDrinkNumber + " " + iFrequencyCounts[tDrinkNumber]); } } }