Using HelloWeb.java as a model create a Java applet that displays a Fahrenheit to Celsius temperature conversion table. The table should run from 0 degrees Fahrenheit to 250 degrees Fahrenheit, in steps of 10 degrees. Round the output to the nearest integer.
Display any temperatures below freezing (32o Fahrenheit) in blue and any temperatures above boiling (212o Fahrenheit) in red (the rest in black).
The formula to use is:
Your applet should have appropriate column labels, and a chart title. See the TempConv.java model solution on the website.
You must turn in an Applet, not a stand-alone program. You must meet all the requirements from the description above. If you include any creative extras, be sure your program still performs the basic chart as described above. Creative extras are extras, and you are not free to modify the project requirements.
It is not acceptable to pre-compute each
Celsius value, and just have many “g.drawString()”
statements.
You need to use Java to calculate each value using the correct formula,
and use various control structures.
A non-working project can score quite well (so don't be afraid to turn one in). Also a fully working project may not score 100%.
You must work alone on your project, however you can ask your instructor for help anytime. Please see the syllabus for additional information about projects.
If you don't know how to start crafting a program from a written problem description, How To Develop Your First Java Program may help.
Comments can be difficult for some students. The trick is to know your audience: another Java programmer. You therefore don't want to include comments like the following:
int i; // declaring i as an int i += 10; // adding 10 to i |
A Java programmer already understands the code.
Instead you should have comments that explain why
you are declaring i, and why are you adding
10 to i.
You also should have some comments at the top of every file with
a brief description of the file and your name.
A great way to come up with your comments is to first enter your
design as a skeleton class with nothing but comments in
the methods.
Later you fill in the code below each comment.
Use HelloWeb.java and MinHTML.htm
(from the HelloWeb example)
to start with, just change the names.
Use the statements in the paint() method of
GUIGreet.java for examples
of drawing lines, rectangles, and setting colors and fonts.
Note, you don't need any methods except for paint in
this project.
Use g.setColor() to change the color of the subsequent
text.
(See the paint() method of GUIGreet.java
for examples of this.)
To draw numbers or text, use:
g.drawString( " " + fvalue + " " + cvalue, col, row );
Where col and row are integer values of
pixels.
Each line of text should be on a different row or else all your
text will be drawn one row on top of each other, resulting in
an ugly scribble.
A line a text is about 10-12 pixels tall, so rows should be
about 12-15 pixels apart.
It is not required to align the columns of numbers on the right.
Doing so can be difficult if you don't know the secret!
If you really want to try this, one way is to use a Monospaced
font, and String.format() to pad each number to the same
width.
(This isn't simple; it is just simpler than the way that works for any font.)
Some possibly interesting Unicode characters are "\u2103"
(for " °C "), "\u2109" (for " °F "),
"\u00A9" (for " © "),
and "\u00B0" (for " ° ").
These Unicode symbols may or may not work on your system, depending
on which fonts are installed.
(No font includes all Unicode symbols.)
Email to me your Java source and HTML files, by copy-and-paste (no attachments please!).
Submit projects to
.
Please use a subject such as Java Temp Conversion Project
so I can tell which emails are submitted projects.
Send project questions to
.
Please use a subject such as Java Temp Convert Project Questions
so I can tell which emails are questions about the project.
Please review Submitting Assignments and Project Grading Criteria from your class syllabus for further details.