Skip to content

Instantly share code, notes, and snippets.

@mariack
Last active August 29, 2015 14:18
Show Gist options
  • Save mariack/b9e2302eccbf5584cfc9 to your computer and use it in GitHub Desktop.
Save mariack/b9e2302eccbf5584cfc9 to your computer and use it in GitHub Desktop.
/**
* 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