[JAVA] 12. 섭씨온도문제

편준민's avatar
Feb 04, 2025
[JAVA] 12. 섭씨온도문제

문제1 (화씨 → 섭씨)

import java.util.Scanner; public class FtoC1 { public static void main(String[] args) { // 화씨 : F , 섭씨 는 C double f; double c; // 1. 화씨의 온도를 받기 System.out.println(("화씨를 입력하세요.")); Scanner sc = new Scanner(System.in); f = sc.nextDouble(); // 2. 화씨를 화씨 온도로 환산 c = 5.0 / 9 * (f - 32); // 3. 모니터로 출력 System.out.println(c); } }

문제2 (섭씨 → 화씨)

import java.util.Scanner; public class FtoC2 { public static void main(String[] args) { // 화씨 : F , 섭씨 는 C double f; double c; // 1. 섭씨의 온도를 받기 System.out.println(("섭씨를 입력하세요.")); Scanner sc = new Scanner(System.in); c = sc.nextDouble(); // 2. 섭씨를 화씨 온도로 환산 f = c * 1.8 + 32; // 3. 모니터로 출력 System.out.println(f); } }

문제3

섭씨 와 화씨 중 어떤 걸 바꿀 건지 선택 후 반대로 바꾸는 문제
package ex02; import java.util.Scanner; public class FtoC3 { public static void main(String[] args) { // 1. 화씨 혹은 섭씨를 선택하는 로직 System.out.println("=============="); System.out.println("1. 섭씨 -> 화씨"); System.out.println("2. 화씨 -> 섭씨"); System.out.println("=============="); Scanner sc = new Scanner(System.in); int selectedNum = sc.nextInt(); // 2. 온도 받아오기 System.out.println("온도를 입력하세요."); double temp = sc.nextDouble(); // 3. 화씨 혹은 섭씨 온도를 받아서 변환 double result = selectedNum == 1 ? (5.0 / 9 * (temp - 32)) : (temp * 1.8 + 32); System.out.println("온도는" + result); } }
  • 문제점 : 1과 2를 제외한 3~ 의 숫자를 입력했을 경우 2번이 선택 되어서 화씨 →를 섭씨로 바꾼다. if문을 알아보고 고쳐 보자

문제 4 if문 사용

1을 선택하면 섭씨 → 화씨로 변경
2를 선택하면 화씨 → 섭씨로 변경
1과 2를 제외한 숫자를 입력하면 프로그램 종료 후 ‘잘못 선택했습니다’ 출력
package ex02; import java.util.Scanner; public class FroC4 { public static void main(String[] args) { // 화씨 : F , 섭씨 는 C double f; double c; // 화씨 혹은 섭씨 선택하여 받기 Scanner sc = new Scanner(System.in); int selectedNum = 0; System.out.println("=============="); System.out.println("1. 섭씨 -> 화씨"); System.out.println("2. 화씨 -> 섭씨"); System.out.println("=============="); selectedNum = sc.nextInt(); if (selectedNum == 1) { // 화씨 받기 System.out.println(("화씨를 입력하세요.")); f = sc.nextDouble(); // 화씨를 섭씨 온도로 환산 c = 5.0 / 9 * (f - 32); System.out.println(c); } else if (selectedNum == 2) { // 섭씨의 온도를 받기 System.out.println(("섭씨를 입력하세요.")); c = sc.nextDouble(); // 섭씨를 화씨 온도로 환산 f = c * 1.8 + 32; System.out.println(f); } else { // 1과 2를 제외한 숫자를 받으면 프로그램 종료 System.out.println("잘못 선택하였습니다."); } } }
  • 문제점 : 너무 긴 문자를 입력하거나, 숫자가 아닌 문자를 입력하면 오류가 남.
 

문제 5. 위 문제점 고쳐서 만들기

Share article

YunSeolAn