Last active
August 29, 2015 14:18
-
-
Save mariack/b9e2302eccbf5584cfc9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Maria Kalusz | |
* Lab 10 - Class Definition | |
* Program Design and Abstraction | |
* April 10, 2015 | |
*/ | |
package assignments; | |
import java.util.Scanner; | |
public class Temperature | |
{ | |
private float degrees; | |
private char scale; | |
public Temperature() | |
{ | |
degrees = 0.0f; | |
scale = 'C'; | |
} | |
public Temperature(float storeDegrees) | |
{ | |
degrees = storeDegrees; | |
} | |
public Temperature(char storeScale) | |
{ | |
scale = storeScale; | |
} | |
public Temperature(float storeDegrees, char storeScale) | |
{ | |
degrees = storeDegrees; | |
scale = storeScale; | |
} | |
public void setTemperature(float givenDegrees) | |
{ | |
degrees = givenDegrees; | |
} | |
public void setScale(char givenScale) | |
{ | |
scale = givenScale; | |
} | |
public void setTempScale(float givenDegrees, char givenScale) | |
{ | |
degrees = givenDegrees; | |
scale = givenScale; | |
} | |
public float convertToCelsius() | |
{ | |
float F, C; | |
F = degrees; | |
C = 5 * (F - 32); | |
C/=9; | |
return C; | |
} | |
public float convertToFahrenheight() | |
{ | |
float C, F; | |
C = degrees; | |
F = ((C * 9)/5) + 32; | |
return F; | |
} | |
public String convertToString() | |
{ | |
String s; | |
s = Float.toString(degrees) + Character.toString(scale); | |
return s; | |
} | |
public static int compareTemp(float storedTemp, float givenTemp) | |
{ | |
if(storedTemp > givenTemp) | |
{ | |
return 1; | |
} | |
else if(storedTemp < givenTemp) | |
{ | |
return -1; | |
} | |
else | |
{ | |
return 0; | |
} | |
} | |
public static void main(String[] args) | |
{ | |
Scanner keyboard; | |
Temperature storeB = new Temperature(88.21f, 'F'); | |
Temperature storeD = new Temperature(88.21f); | |
Temperature storeS = new Temperature('F'); | |
float d; | |
char s; | |
d = 33.56f; | |
s = 'C'; | |
Temperature given = new Temperature(); | |
given.setTemperature(d); | |
given.setScale(s); | |
given.setTempScale(d, s); | |
String strS = storeB.convertToString(); | |
String strG = given.convertToString(); | |
System.out.println("The stored temperature string is: " + strS); | |
System.out.println("The given temperature string is: " + strG); | |
String compare; | |
float convertSToC, convertGToC, convertSToF, convertGToF; | |
keyboard = new Scanner(System.in); | |
System.out.print("Enter 'C' to compare in celsuis or 'F' to compare in Fahrenheight: "); | |
compare = keyboard.next(); | |
convertSToC = storeD.convertToCelsius(); | |
convertGToC = given.convertToCelsius(); | |
convertSToF = storeD.convertToFahrenheight(); | |
convertGToF = given.convertToFahrenheight(); | |
int temp; | |
switch(compare) | |
{ | |
case "C": | |
{ | |
if (storeS.scale == 'F' && given.scale == 'C') | |
{ | |
temp = compareTemp(convertSToC, given.degrees); | |
System.out.println("Stored degrees needs to be converted to Celsius."); | |
System.out.println("Here it is converted: " + convertSToC); | |
System.out.println("Return degrees compared: " + temp); | |
} | |
else if (storeS.scale == 'C' && given.scale == 'F') | |
{ | |
temp = compareTemp(storeD.degrees, convertGToC); | |
System.out.println("Given degrees needs to be converted to Celsius."); | |
System.out.println("Here it is converted: " + convertGToC); | |
System.out.println("Return degrees compared: " + temp); | |
} | |
else if (storeS.scale == 'F' && given.scale == 'F') | |
{ | |
temp = compareTemp(convertSToC, convertGToC); | |
System.out.println("Given and stored degrees need to be converted to Celsius."); | |
System.out.println("Here is stored converted: " + convertSToC); | |
System.out.println("Here is given converted: " + convertGToC); | |
System.out.println("Return degrees compared: " + temp); | |
} | |
else if (storeS.scale == 'C' && given.scale == 'C') | |
{ | |
temp = compareTemp(storeD.degrees, given.degrees); | |
System.out.println("No conversion needed."); | |
System.out.println("Return degrees compared: " + temp); | |
} | |
break; | |
} | |
case "F": | |
{ | |
if (storeS.scale == 'C' && given.scale == 'F') | |
{ | |
temp = compareTemp(convertSToF, given.degrees); | |
System.out.println("Stored degrees needs to be converted to Fahrenheight."); | |
System.out.println("Here it is converted: " + convertSToF); | |
System.out.println("Return degrees compared: " + temp); | |
} | |
else if (storeS.scale == 'F' && given.scale == 'C') | |
{ | |
temp = compareTemp(storeD.degrees, convertGToF); | |
System.out.println("Given degrees needs to be converted to Fahrenheight."); | |
System.out.println("Here it is converted: " + convertGToF); | |
System.out.println("Return degrees compared: " + temp); | |
} | |
else if (storeS.scale == 'C' && given.scale == 'C') | |
{ | |
temp = compareTemp(convertSToF, convertGToF); | |
System.out.println("Given and stored degrees need to be converted to Fahrenheight."); | |
System.out.println("Here is stored converted: " + convertSToF); | |
System.out.println("Here is given converted: " + convertGToF); | |
System.out.println("Return degrees compared: " + temp); | |
} | |
else if (storeS.scale == 'F' && given.scale == 'F') | |
{ | |
temp = compareTemp(storeD.degrees, given.degrees); | |
System.out.println("No conversion needed."); | |
System.out.println("Return degrees compared: " + temp); | |
} | |
break; | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment