CSE142—Computer Programming I
Programming Assignment #3
Debugging Hints
Java Version
You
can get a significant pixel difference if you are using an older version of
Java. You can find out which version is
running by going into the interactions pane in jGRASP and typing in the
following (eclipse users can instead print this):
System.getProperty("java.version")
You should see a response like the
following:
11.0.1
If it begins with “1.6,” “1.7,” or “1.8”
then you are using an older version (Java 6, 7, or 8). To change which version of Java jGRASP is
using, go to Settings, jGRASP Startup Settings, and look for “Java executable (for
running jGRASP).” Pick something that
begins with “jdk11.” If you don’t see
something that begins with “jdk11”, then you need to install a newer JDK first
by following the instructions on the “Java Software” tab on the class web page.
Drawing
Counts
It
is possible to get a large pixel difference if you draw the same line or string
multiple times. The DrawingPanel class
has an option to help you explore this.
Set up your Graphics object this way:
Graphics g = p.getDebuggingGraphics();
When you do so, you can include the following
line of code after you finish the drawing commands:
System.out.println(p.getCounts());
This is the output produced by the sample
solution:
drawLine=234, fillRect=234}
You do not have to match these counts if
you are within 500 pixels of difference.
Be sure to remove any debugging printlns before you turn in your
program.
Use
the IPL Computers
There
are many configuration issues that can lead to pixel differences when you run
your program on your own computer and compare the result to the sample
output. We make sure that the computers
at the IPL are properly configured to match our sample output, so you can
always stop by the IPL and run your program on one of those computers to check
whether a pixel difference is happening because of configuration issues.