The values in the first column will include 1start 2start


Objectives

• Construct and use Objects

• Design the public interface of a class

• Implement methods and test code using conditionals

• Implement methods and test code using loops

• Access instance fields and local variables

Hand-in Requirements

The project directory should include the following files:

• Length.xml (the project file)

• Length.java

• LengthTest.java

Overview

In the previous projects, you have written programs that convert between different units of length and manipulate Length objects. In this project, you will use loops for data entry and to print out conversion tables.

• Implement a loop to allow continuous input.

• Implement a loop to check for valid input.

• Implement a method with a loop to calculate and print conversions from one unit to another.

New Methods for the Length Class
Methods:
In addition to the methods last project, you will have these methods:
/* Return true if unit is "meters", "inches", "feet", "yards", or "miles" */
static public boolean validUnit(String unit)
/* Print a table showing conversions from the unit of this object to meters */
public void printConversionTable()

The validUnit method will be used to streamline data entry.

The printConversionTable method will be used to print a conversion table from the unit of this object to meters. For example, if this object is 36 inches, a table like the following should be printed.


inches    meters

10.0       0.254

20.0       0.508

30.0       0.762

36.0      0.9144

40.0       1.016

50.0        1.27

60.0       1.524

70.0       1.778

80.0       2.032

90.0       2.286

100.0      2.54

Due to rounding errors, your values might be slightly different from the above table.

To determine the values to be printed in the first column, perform the following calculation.
double start = Math.pow(10, Math.floor(Math.log10(myNumber)));

The values in the first column will include 1*start, 2*start, and so on up to 10*start. This will be done using a for loop. In addition, myNumber should appear in the first column in the appropriate row.

When the printConversionTable method is finished, be sure that myNumber is equal to its original value.

Testing your Length class:

Use a do-while loop to allow the user to enter and add up a series of lengths. At the end of each iteration, ask the user if they would like to continue. In this loop do the following.

1. Ask the user to enter a number as a double from the keyboard. Store the response in number1.

2. Ask the user to enter a unit as a String from the keyboard. Store the response in unit1.

3. Use a while loop to ensure that the value of unit1 is valid. This will be done using the validUnit method, i.e., calling Length.validUnit(unit1). While unit1 is not valid, obtain a new value for unit1 from the user.

4. Instantiate a Length object named length1 using the input from above, and print length1 using the toString method. Be sure to use a descriptive label.

5. Invoke length1.printConversionTable() to print out a conversion table.

6. Print the values from calling length1 with the getMeters, getInches, getFeet, getYards, and getMiles methods. Be sure to use descriptive labels.

7. Print the sum of the lengths that have been entered by the user so far. You will need to declare a Length variable before the do-while loop, initialize it to 0 meters, and update the variable in the do-while loop.

Solution Preview :

Prepared by a verified Expert
Operating System: The values in the first column will include 1start 2start
Reference No:- TGS01252764

Now Priced at $20 (50% Discount)

Recommended (92%)

Rated (4.4/5)