That isn't newbies' code. How much programming have you actually been taught?
I am afraid the code is too large for any of us to debug. I think you are going to have to go through the code yourself. Put some print statements in it, so you will know which method is being called when. Also put some counter variables, which will count how many times a particular method is called. That should give you a start.
Why are all your methods marked static? Why have you written such
long lines? Why do you appear to have documentation comments in the middle of methods? Why are your methods so long? Have you written down the algorithm you are simulating?