This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Now that the errors are corrected, this code compiles and runs fine. So how do we explain its behavior?
Section 12.1.4 of the Java Language Specification says that as an entry point, "the method main must be declared public, static, and void. It must accept a single argument that is an array of strings."