package casestudy5;

import java.util.*;

public class LoopExperiments {
  public static void main(String[] args) {
    int result = forLoopTest(5);
    System.out.println("The number of zeros is " +
                       result);
    result = whileLoopTest(3);
    System.out.println(" The number of flips is " +
                       result);
    result = doWhileLoopTest("Enter number of heads");
    result = whileLoopTest(result);
  System.out.println(" The number of flips is " +
                     result);

  }

  private static int forLoopTest(int flips) {
    int flipCount;
    int zeroCount = 0;
    Random rand = new Random();
    for (flipCount = 0; flipCount < flips; flipCount++) {
      int coinFlip = rand.nextInt(2);
      if (coinFlip == 0) {
        zeroCount++;
      }
    }
    return zeroCount;
  }

  private static int whileLoopTest(int limit) {
    int flipCount = 0;
    int zeroCount = 0;
    Random rand = new Random();
    while (zeroCount < limit) {
      int coinFlip = rand.nextInt(2);
      System.out.print(coinFlip);
      if (coinFlip == 0) zeroCount++;
      flipCount++;
    }
    return flipCount;
  }

  private static int doWhileLoopTest(String prompt) {
    Scanner scan = new Scanner(System.in);
    int headCount;
    do {
      System.out.print(prompt +
                       " (Enter a positive number) ");
      headCount = scan.nextInt();
    } while (headCount <= 0);
    return headCount;
  }
}






