Comments on online Java tests...

* Fields should be declared when appropriate.  In other words,
if a variable needs to be seen throughout a class, it should
be a field.  If not, it should be local to whatever method it
is being used in.  (Minor ding.)

* Code structures such as subsequent assignments, loops, etc.
must be inside of methods or the test will be declared a
failing exam.  (Major ding.)  It is hard for me to fathom how
one can write a Java program this late in the year without
understanding this.

* Variables are to be done in proper convention--start with
lower case and use upper case only at beginning of new words.
Constants are to be ALL CAPS.  Classes are to begin with a
capital letter and follow with lower case except at the start
of new words.  (Minor ding.)

* Code should be indented properly so I can read it.
(Medium ding.)

* Programs shall meet the problem description TO THE LETTER.
(Medium ding.)  This may sound silly--after all, if a program
works, isn't that what counts?  Sure, except when other
programmers are writing code that depend on an agreed
specification.  (Medium ding.)

* Variables shall be given meaningful names.  Sadly, this is
not an area for the creative to thrive.  Bad names make it
harder to understand what a program is doing.  (How many of
you understand why the Graphics object in a lot of the applet
examples is called "page"?  It's a very confusing choice as
the Graphics class does not create pages, it draws on a canvas.
The authors--in my opinion--are not immune to questionable
variable names, but I want you to be.)  (Medium ding.)

* With applets, use init() and paint().  init() is where the
applet methods (setBackground, setSize, eg.) and most 
initialization methods should be performed.  paint() is where
the Graphics object is used to draw things.  A good paint()
method is not used for anything beyond that unless absolutely
necessary.  (Minor ding.)

* With applets, do not use public static void main().  This
suggests to me great confusion about an application versus
an applet.  An application is local to your machine.  It does
not reside on a web page.  An applet resides on a web page.
While it can be used on your own machine as you have seen,
generally JFrames are used for that purpose nowadays.

Applets all run through init().  They actually do more than
that, but this will suffice for this course.  Use init() as
the equivalent of public static void main() and all will be
fine.