/****************************************************************************** * name: Donna Gabai * netID: dgabai * precept: P99 * * Description: * Maintains two Queues: one with flushes one with fullhouses * Output number of flushes followed by first 5 flushes. * Output number of full houses followed by first five full houses. * If fewer than 5 hands in a queue, print all. * * Dependencies: Queue, PokerHand. StdIn, StdOut * */ public class PokerHandCount { public static void main(String[] args) { // maintain 2 queues Queue flushes = new Queue(); Queue fullHouses = new Queue(); // 2 counters int flushCount = 0; int fullHouseCount = 0; while (!StdIn.isEmpty()) { // call PokerHand constructor to read in next hand from StdIn PokerHand ph = new PokerHand(); if (ph.flush()) { flushes.enqueue(ph); flushCount++; } else if (ph.fullHouse()) { fullHouses.enqueue(ph); fullHouseCount++; } } // output StdOut.println(" Flushes: " + flushCount); // first five only or whole queue if fewer than five int counter = 0; for (PokerHand ph : flushes) { StdOut.println(" " + ph); counter++; // break out of loop if we found 5 if (counter == 5) break; } StdOut.println("Full houses: " + fullHouseCount); // reset counter counter = 0; // first five only for (PokerHand ph : fullHouses) { StdOut.println(" " + ph); counter++; // break out of loop if we found 5 if (counter == 5) break; } } }