Blog

[Algorithm]06 입력한 각도의 종류를 설명해주는 계산기 만들기

Author
Summary
각도 표현 구분하기
Category
Study
Tags
Algorithm
Favorite
Memory Date
2023/08/01
Progress Status
Done
Cross Reference Study
Related Media
Related Thought
Related Lessons
tag
날짜
작성자
진행상황
진행 전
태그구분
5 more properties
이건 조건이 많아보이지만 위 틀을 잡고 연산에만 집중하면 금방 풀 수 있다. 쳐다보는 것 보다 직접 메서드에 하나씩 옮기면서 남은 부분을 처리하는게 훨씬 머릿속으로 잘 그려졌다.
1. Main.java
package Algorithm04; public class Main { public static void main(String[] args) { System.out.println("각에서 0도 초과 90도 미만은 예각,\n" + " 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다.\n" + " 각 angle이 매개변수로 주어질 때 \n" + "예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를\n" + "return하도록 solution 함수를 완성해주세요.\n" + "\n" + "예각 : 0 < angle < 90\n" + "직각 : angle = 90\n" + "둔각 : 90 < angle < 180\n" + "평각 : angle = 180\n" + "제한사항\n" + "0 < angle ≤ 180\n" + "angle은 정수입니다.\n"); Solution solution = new Solution(); solution.intputAngle(); } }
Java
복사
2. Solution.java
package Algorithm04; import java.util.Scanner; public class Solution { //필요데이터//angleInputNum <-input 스캐너, int형, 0<angle<=180 제한사항 유효성체크 while,// angleStr <- 예각, 직각, 둔각, 평각 표현// angleOutputNum <-output//필요메서드//inputAngle()//calculate()//outputAngle()int angleInputNum; String angleStr; int angleOutputNum; Scanner sc = new Scanner(System.in); public Solution() { } void intputAngle() { while (true) { System.out.println("각도를 입력해주세요."); angleInputNum = sc.nextInt(); if (angleInputNum < 0 || angleInputNum > 180) { System.out.println("각도는 0~180도까지만 입력해주세요."); continue; } else { calculate(angleInputNum); break; } } } void calculate(int angleInputNum) { if (angleInputNum > 0 && angleInputNum < 90) { angleStr = "예각"; angleOutputNum = 1; outputAngle(angleStr, angleOutputNum); } else if (angleInputNum == 90) { angleStr = "직각"; angleOutputNum = 2; outputAngle(angleStr, angleOutputNum); } else if (angleInputNum > 90 && angleInputNum < 180) { angleStr = "둔각"; angleOutputNum = 3; outputAngle(angleStr, angleOutputNum); } else if (angleInputNum == 180) { angleStr = "평각"; angleOutputNum = 4; outputAngle(angleStr, angleOutputNum); } else { System.out.println("잘못된 접근 입니다."); } } void outputAngle(String angleStr, int angleOutputNum) { System.out.printf("입력하신 값은 %s이며 표현값은 '%d' 입니다.", angleStr, angleOutputNum); } }
Java
복사