In my m/c, private is working fine...but let us know what JLS and some resources tell us...
JLS section 12.1.4 tells us that
"The method main must be declared public, static, and void. It must accept a single argument that is an array of strings."
JQ+ notes and tips also says that
"Main method can also be final, native, synchronized. No matter whether other declarations (like private, protected) work on your m/c, for the purpose of the exam, it should be public."
From the forum
http://www.javaranch.com/ubb/Forum1/HTML/000124.html, newer jdk's allow main to be non-public. However the language specification and the virtual machine specification do say that main should be public.
Valentin:
Even though JDKs allow main to be non-public, the language requirement (and also for the exam purpose) is that the main method must be public. Could you please confirm this?
Hope this helps...
Uma