/**
 * 
 */
package no.hvl.dat104;

import java.text.DecimalFormat;

/**
 * @author Kristoffer-Andre Kalliainen
 *
 */
public class TempOmregner {

	/**
	 * Skjekker input for temperatur
	 * 
	 * @param temp
	 *            Temperatur som en streng
	 * @return Temperaturen som en Double
	 * @throws IllegalArgumentException
	 *             Kaster exception hvis strenger er tom eller null.
	 */
	public Double skjekkInputTemperatur(String temp) throws IllegalArgumentException {
		Double t = 0.0;
		if (temp == null || temp == "") {
			throw new IllegalArgumentException("Temp input er tom");
		}

		try {
			t = Double.parseDouble(temp);
		} catch (NumberFormatException nfe) {
			System.err.println("Temperatur input: " + nfe.getMessage());
		}

		return t;
	}

	/**
	 * Skjekker input for temperatur enhet
	 * 
	 * @param enhet
	 *            Temperatur enhet
	 * @return Lovlig temperatur type
	 * @throws IllegalArgumentException
	 *             Kaster exception hvis strengen er tom eller null.
	 */
	public String skjekkInputEnhet(String enhet) throws IllegalArgumentException {
		if (enhet == null || enhet == "") {
			throw new IllegalArgumentException("Enhet input er tom");
		}

		return enhet;
	}

	/**
	 * Regner ut temperaturen, ut ifra hvilken type temperatur enhet som gies.
	 * 
	 * @param temp
	 *            Temperaturen som skal omregnes
	 * @param enhet
	 *            Temperatur enheten temperaturen oppgies i
	 * @return Temperaturen omregnet til enten Celsius eller Fahrenheit
	 */
	public String regnTemperatur(Double temp, String enhet) {
		DecimalFormat df = new DecimalFormat("####0.00");
		Double svar;
		if (enhet.equals("celsius")) {
			svar = fraCelsiusTilFahrenheit(temp);
		} else {
			svar = fraFahrenheitTilCelsius(temp);
		}
		return df.format(svar).replace(",", ".");
	}

	/**
	 * Hjelpemetode for  konventere fra celsius til fahrenheit
	 * 
	 * @param celsius
	 * @return fahrenheit
	 */
	private Double fraCelsiusTilFahrenheit(Double celsius) {
		return ((celsius * 1.8) + 32);
	}

	/**
	 * Hjelpemetode for  konventere fra fahrenheit til celsius
	 * 
	 * @param fahrenheit
	 * @return celsius
	 */
	private Double fraFahrenheitTilCelsius(Double fahrenheit) {
		return ((fahrenheit - 32) / 1.8);
	}
}

@@ -460,16 +460,21 @@
 g temp) 
+%0D%0A%09%09%09
 throws I
@@ -541,22 +541,8 @@
 null
- %7C%7C temp == %22%22
 ) %7B%0D
@@ -584,27 +584,8 @@
 ion(
-%22Temp input er tom%22
 );%0D%0A
@@ -595,18 +595,8 @@
 %0D%0A%0D%0A
-%09%09try %7B%0D%0A%09
 %09%09t 
@@ -627,119 +627,8 @@
 p);%0D
-%0A%09%09%7D catch (NumberFormatException nfe) %7B%0D%0A%09%09%09System.err.println(%22Temperatur input: %22 + nfe.getMessage());%0D%0A%09%09%7D%0D
 %0A%0D%0A%09
@@ -1058,28 +1058,8 @@
 ion(
-%22Enhet input er tom%22
 );%0D%0A
@@ -1500,17 +1500,16 @@
 %22####0.0
-0
 %22);%0D%0A%09%09D

Refactor exception