Units Of Measure  Units Of Measure

go to home page Student Projects full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish by Roedy Green ©1996-2008 Canadian Mind Products
This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. It does not describe an actual complete program. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; I have too many other projects of my own.

I do contract work for a living, which could include writing a program such as this. However, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project any way you please.

This project is similar to the currency converter, except instead of allowing you to localise a web page to the user’s preferred currency, it allows you to localise it to the user’s preferred units of measure, e.g. grams/kilograms vs ounces/pounds or cm/metres vs inches/feet.

For each country code you need a table of the units of measure they use. You also need a table of conversion factors. You can embed static macros in the HTML source code like this:

The rabbit was enormous weighing <!-- macro Measure 10.0 pounds -->. It had ears <!-- macro Measure 15.0 cm --> long!

You expand these to Applet invocations.

To a person from the USA, this would finally display as:

The rabbit was enormous weighing 10 pounds. It had ears 6 inches long!

To a person from Canada, this would finally display as:

The rabbit was enormous weighing 4.5 kilograms. It had ears 15 cm long!

You display to approximately the same degree of precision as the original.

Design your program as an Applet much like CurrCon, with a separate class to do the conversions, so that others can use the conversion logic in their own applications and Servlets. You might also implement it as some sort of JSP tag for effortless inclusion into Servlets that generate web pages without Applet calls.

I have done a crude version of this with that expands to both metric and Imperial, igoring the viewer’s country.

The rabbit was enormous weighing <!-- macro Measure 10.0 pounds -->. It had ears <!-- macro Measure 15.0 cm --> long!

then expands as:

The rabbit was enormous weighing 4.54 kg (10 lbs). It had ears 15 cm (5.91 in) long!

For extra brownie points, see if you can translate this into metric:

“A 3 mpg increase in the auto and light truck fleet is worth 1,000,000 barrels of oil a day.”
~ Ernest Moniz, Professor of Physics, born 1938
In metric you use liters/100km (which is lower with better mileage, whereas mpg is higher with better mileage). Further you have the complication of a delta versus an absolute value.

Temperature has to be handled specially, since it is not a simple multiplier. My static macro works like this:

<!-- macro Degrees 20 C -->

expands to:

20°C (68°F)

where

<!-- macro Degrees 10 F delta -->

expands to:

6°C (10°F)

to convert temperature changes to both Celsius/Centigrade and Fahrenheit.

As in CurrCon, you guess the default country using Locale. getDefault().getCountry(); You allow the user to override the guess. That change gets propagated to all the Applets on the page, just as with CurrCon. Find the other instance of the Applet with getAppletContext(). getApplets().

buying CurrCon
CurrCon implementation
units of measure

CMP homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[65.110.21.43]
Your face IP:[38.103.63.61] Visit Greenpeace.org to help save your seas.
You are visitor number 11.
You can get a fresh copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/project/unitsofmeasure.html J:\mindprod\project\unitsofmeasure.html