brainfrz icon

Untitled

brainfrz | PRO | 10/26/15 04:35:59 AM UTC | 0 ⭐ | 897 👁️ | Never ⏰ | []
Java |

1.69 KB

|

None

|

0 👍

/

0 👎

public class TempConverter {
    public enum TEMP_TYPE {
        Celsius, Fahrenheit;
    }
 
    private final static TEMP_TYPE DEFAULT_TEMP_TYPE = TEMP_TYPE.Celsius;
    private final TEMP_TYPE convertingFrom, convertingTo;
 
    public TempConverter(TEMP_TYPE convertFrom) {
        convertingFrom = convertFrom;
 
        if (convertFrom == TEMP_TYPE.Celsius) {
            convertingTo = TEMP_TYPE.Fahrenheit;
        }
        else if (convertFrom == TEMP_TYPE.Fahrenheit) {
            convertingTo = TEMP_TYPE.Celsius;
        }
        else {
            convertingTo = DEFAULT_TEMP_TYPE;
        }
    }
 
 
 
    public int convertTemp(double fromTemp) {
        int toTemp = 0;
 
        if (convertingFrom == TEMP_TYPE.Fahrenheit) {
            toTemp = (int)(Math.round((fromTemp - 32) * (5.0 / 9.0)));
        }
        else if (convertingFrom == TEMP_TYPE.Celsius) {
            toTemp = (int)(Math.round(fromTemp * 1.8 + 32));
        }
        else {
            throw new TempTypeDoesntExistException("Temperature type isn't supported.");
        }
 
        return toTemp;
    }
 
 
 
    public TEMP_TYPE fromTempType() {
        return convertingFrom;
    }
 
    public TEMP_TYPE toTempType() {
        return convertingTo;
    }
 
    public String fromTempTypeStr() {
        return convertingFrom.toString();
    }
 
    public String toTempTypeStr() {
        return convertingTo.toString();
    }
 
 
 
 
    public static class TempTypeDoesntExistException extends IndexOutOfBoundsException {
        public TempTypeDoesntExistException() { }
 
        public TempTypeDoesntExistException(String message) {
            super(message);
        }
    }
}

Comments