/Java111b_Assignment5_Temperature

Design and implement a class, called Temperature, to represent a temperature (example: 98.6F degrees Fahrenheit.)

Primary LanguageJava

Temperate class created in Java TASKS

1) - due 10/19 - QL DONE
{Four constructors:
- one to specify both parameters (degrees, type)
- one to specify just the degrees (defaults to type Celsius)
- one to specify just the type (defaults to 0.0 for the degrees value)
- and the default constructor that specifies neither (defaults to 0 degrees Celsius)


Implement a readInput() method to prompt user for degrees and type and then reads the values. NOTE: The Scanner class does not have a specific method for reading chars. 

}

2) - due 10/23 -LZ DONE
{Three "write" methods (these DO NOT change values of original instance data):
- one to display both parameter values (use this for debugging) - writeOutput()
- one to display temperature in degrees C (even if value is Fahrenheit)- writeC()
- and one to display temperature in degrees F (even if value is in Celsius)- writeF()


Two accessor methods to get (return) temperature (these DO NOT change values of instance data):
- one in degrees C 
    returns value in Celsius (even if current value is in Fahrenheit) - getC()
- and the other in degrees F
    returns Fahrenheit value (no matter what type current temperature has) - getF() 
}

3) - due 10/23 - KL
{Three mutator methods to set (update) the parameters:
- one to set the degrees value
- one to set the type value
- and one to set both together.
All are named set but the method is overloaded for the three variations of parameters

One toString() method 
Example output: temperature 98.6F  but you may determine what output is displayed

One comparison method named equals():
example: returns true if temperature1 is equivalent to temperature 2
}


4) testing/zip - due 10/24
5)upload - due 10/25





A partially written test program to test the class Temperature is provided. We are using TDD so the test program was written BEFORE the production (actual) code. This test is in a separate class called TemperatureTest and has been provided for you as:
/pub/cs/cconner/cs111b/TemperatureTest.java

---------------------------------
sample output:
C:> java TemperatureTest

TEMPERATURE TEST PROGRAM

Author: Constance Conner

Author: Luke Skywalker

Date: March 08, 2006

Course: CS 111B -Temperature Application

 

Test case 1: default constructor and

writeOutput() method.

Results of default constructor:

Verify 0 degrees C.

Temperature = 0.0 degrees C.

 

Hit 'y' to continue.

y

 

Test case 2: readInput() method.

Enter a temperature in degress (for example 29.6):

29.6

Enter 'F' (or 'f') for Fahrenheit or 'C' (or 'c') for Celsius:

F

Verify temperature and units:

Should be whatever you just entered.

Temperature = 29.6 degrees F.

 

Hit 'y' to continue.

y

 

Test case 3: constructor with just temperature.

Verify 20.5 degrees C.

Temperature = 20.5 degrees C.

Hit 'y' to continue.

y

 

Test case 4: constructor with just units, f.

Verify 0 degrees f.

Temperature = 0.0 degrees f.

 

Hit 'y' to continue.

y

 

Test case 5: constructor with just units, c.

Verify 0 degrees c.

Temperature = 0.0 degrees c.

 

Hit 'y' to continue.

y

 

Test case 6: constructor with temperature and units.

Verify -51.2 degrees F.

Temperature = -51.2 degrees F.

 

Hit 'y' to continue.

y

 

Test case 7: writeC degrees C, original in F.

Verify -46.2 degrees Celsius.

Temperature = -46.2 degrees Celsius.

 

Hit 'y' to continue.

y

 

Test case 8: writeC degrees C, original in C.

Verify 0 degrees Celsius.

Temperature = 0.0 degrees Celsius.

 

Hit 'y' to continue.

y

 

Test case 9: writeF degrees F, original in C.

Verify 32 degrees Fahrenheit

Temperature = 32.0 degrees Fahrenheit.

 

Hit 'y' to continue.

y

 

Test case 10: writeF degrees F, original in F.

Verify -51.2 degrees Fahrenheit

Temperature = -51.2 degrees Fahrenheit.

 

Hit 'y' to continue.

y

 

Test case 11: getF method with original temperature in F.

Verify -51.2

-51.2

 

Hit 'y' to continue.

y

 

Test case 12: getF method with original temperature in C.

Verify 32

32.0

 

Hit 'y' to continue.

y

 

Test case 13: getC method with original temperature in F.

Verify -46.2

-46.2

 

Hit 'y' to continue.

y

 

Test case 14: getC method with original temperature in C.

Verify 0

0.0

 

Hit 'y' to continue.

y

 

Test case 15: set method for both parameters.

t5 before:

Temperature = -51.2 degrees F.

After set: verify 72.8 degrees C.

Temperature = 72.8 degrees C.

 

Hit 'y' to continue.

y

 

Test case 16: set method for just temperature.

t5 before:

Temperature = 72.8 degrees C.

After set: verify 100 degrees C.

Temperature = 100.0 degrees C.

 

Hit 'y' to continue.

y

 

Test case 17: set method for just units.

t5 before:

Temperature = 100.0 degrees C.

After set: verify 100 degrees F.

Temperature = 100.0 degrees F.

 

Hit 'y' to continue.

y

 

Test case 18: equals test 1.

T1 = 100 degrees C.

T2 = 212 degrees F.

Here are the two temperatures converted to degrees C:

Temperature = 100.0 degrees Celsius.

Temperature = 100.0 degrees Celsius.

Verify results: should be true.

true

 

Hit 'y' to continue.

y

 

Test case 19: equals test 2.

T1 changed to 100.1 degrees C.

T2 = 212 degrees F.

Here are the two temperatures in degrees C:

Temperature = 100.1 degrees Celsius.

Temperature = 100.0 degrees Celsius.

Verify results: should be false.

false

 

Hit 'y' to continue.

y

 

Test case 20: equals test 3.

T1 changed back to 100 degrees C.

T2 = 212.1 degrees F.

Here are the two temperatures in degrees C:

Temperature = 100.0 degrees Celsius.

Temperature = 100.1 degrees Celsius.

Verify results: should be false.

false

 

Hit 'y' to continue.

y

 

Test case 21 (at last): toString method

T2 = 212.1 degrees F.

temperature 212.1F