본문 바로가기

Java/본격 Java 퀴즈 기초

[Java] 화씨 온도를 섭씨 온도로 바꾸기

화씨 온도를 섭씨온도로 변환하는 프로그램
섭씨 온도 = 5/9*(F-32)
변환 결과값을 소수점 셋째자리에서 반올림한다.

<출력 예>
화씨 온도 : 100
섭씨 온도 : 37.78

.

.

.

클래스를 사용해보고 싶어서 만든 예제

math 클래스에 있는 round를 이용해서 반올림을 한다.

하지만 round는 소수 첫째자리에서 반올림 하므로 1000을 곱하고 round 한다음에 다시 1000으로 나눠주는 방법을 사용한다.

import java.math.*;

public class ChangeTemp {
	public static void main(String[] args) {
		/* 
		화씨 온도를 섭씨온도로 변환하는 프로그램
		섭씨 온도 = 5/9*(F-32)
		변환 결과값을 소수점 셋째자리에서 반올림한다.
		
		<출력 예>
		화씨 온도 : 100
		섭씨 온도 : 37.78
		 */
		double fahrTemp = 100.0;
		
		TransferTemp tranTemp = new TransferTemp(fahrTemp);
		System.out.println("화씨 온도 : " + fahrTemp);
		tranTemp.ShowFahrTemp();
		
	}
}

class TransferTemp{
	double fahr;
	double centi;
	
	public TransferTemp(double fahr) {
		this.fahr = fahr;
		this.centi = 5.0 / 9.0 * (fahr - 32.0);
		
	}
	
	public void ShowFahrTemp() {
		System.out.println("섭씨 온도 : " + Math.round(centi * 1000) / 1000f);
	}
}

.

.

.

간단하게 만든 예제

public class ConvTemp {
	public static void main(String[] args) {
		int fahr = 100;
		
		float cels = ((int)(5f/9 * (fahr - 32) * 100  + 0.5f)) / 100f;
		
		System.out.println("화씨 온도 : " + fahr);
		System.out.println("섭씨 온도 : " + cels);

	}

}
728x90
반응형