Edit: Took out code because it wasn't really necessary.
And my brother in law said "It's printing 0's because you initialized them to 0, and you didn't set a value in goodEmpIds or totalPay for bad IDs. If goodEmpIds[ct] is zero then you know it's bad, and the ID would be in badEmpIds[ct] instead.".... but I can't seem to understand what he's saying :(
Thank you so much. You helped me solve my problem. After I posted that bit there I went and looked at it some more and did what you said. Tested with if(goodEmpId > 0) in the print method and it printed perfectly.