import java.util.Scanner;
class Temperature //입력받은 온도 값을 저장하는 클래스
{//클래스 시작
double Temperature; //온도 생성
public void setTemperature (double NewTemperature)
{
Temperature = NewTemperature; //변경자 메소드
}
public double getTemperature ()
{
return (Temperature); //접근자 메소드
}
}//클래스 끝
class Celsius //온도를 섭씨로 바꾸는 클래스
{
static double Cetemp(double Fa){
double Cel = (Fa - 32) /1.8;
//온도를 섭씨로 바꾸는 알고리즘
return Cel;
}
}
class Fahrenheit //온도를 화씨로 바꾸는 클래스
{
static double Fatemp(double cel){
double Fa = 1.8 * cel + 32;
// 온도를 화씨로 바꾸는 알고리즘
return Fa;
}
}
class Test //온도의 값을 입력하고 섭씨화씨클래스를 불러오는 클래스
{
public static void main(String[] args)
{
while(true){
Scanner scan = new Scanner (System.in);
System.out.print(\"온도를 입력하세요 : \");
Temperature thisTemperature; //온도 클래스 호출
thisTemperature = new Temperature();
thisTemperature.setTemperature(scan.nextDouble()); //온도 클래스에서 온도객체에 상수를 집어넣기
System.out.println(\"■□■ 메뉴 선택 ■□■\");
System.out.println(\"1. 섭씨를 화씨로 바꾸기\");
System.out.println(\"2. 화씨를 섭씨로 바꾸기\");
System.out.println(\"3. 온도를 다시 입력하기\");
System.out.println(\"4. 온도계산 종료하기\");
System.out.print(\"번호를 입력해주세요>> \");
int num1 = scan.nextInt();
switch (num1) {
case 1 :
System.out.println (\"섭씨를 화씨로 바꾸기\");
System.out.println (); //한줄 띄우기
System.out.println(Celsius.Cetemp(thisTemperature.Temperature));//섭씨온도클래스에서 바꾼 내용을 불러오기
break;
case 2 :
System.out.println (\"화씨를 섭씨로 바꾸기\");
System.out.println ();
System.out.println(Fahrenheit.Fatemp(thisTemperature.Temperature));//화씨 온도 클래스에서 바꾼내용 불러오기
break;
case 3 :
System.out.println (\"다시한번 입력해주세요!\");
System.out.println ();
break;
case 4 :
System.out.println(\"계산을 종료합니다.\");
System.out.println ();
System.exit(0);
return;
default :
System.out.println(\"1번에서 4번 사이에서 골라주세요. \");
System.out.println ();
break;
}
}
}
}
와....진짜 소름 돋아요
근데 가장 치명적인 문제가 있음
프로그램 초반에 입력받는 수는 절대온도라는데... 그 절대온도가 의미하는게머임?? 몰라서 그냥 파라메타 그대로 넘겨줬음
절대온도는 딴거 얘기한건데... K = C +273 ...;;
그냥 아무것도 아닌 온도에요...
근데 번호를 입력하게 되면 그게 섭씨도 되고 화씨도 되는거죠
아 그렇구나.... 근데 개인적으로 이제 소스를 좀 다듬어서 이쁘게 좀 바꿧으면 좋겠는데...
여기서 더 다듬을수 있을까요...
진짜 완벽해보이는데..............
손 볼곳은 많고 어떻게 보면 재개발 공사까지 해야할곳도있음
근데 그냥 학부 1학년 과제인데 뭐 이러나 저러나 똑같음
줄맞춤을 하고잇어요
2학년인데...
으악 망했다 ㅋㅋ
근데 어쩔수 없는게 과제틀이 정해져있어서...
이쁘게 다듬지 못하는게 한이네요 ㅠ
근데 꼭 온도변환을 해야되는거에요? 그것도 클래스 3개 설계하면서...
그러게나 말이에요..
다른사람들이 안할만한거 찾다가 밤샘까지 와버렸네요...