for(int p = 0; p < numPennies; p++){
MonetaryCoin mc = new MonetaryCoin(pennyValue);
// You caught this one:
coinFace = mc.isHeads();
...
// (coinFace = true) resets coinFace to true every time.
if(coinFace == true){
// or you can write it as
if(coinFace) {