이번 문제는 조건문을 배우면서 무조건 한 번씩은 모두 풀어봤을 거라 생각한다.
문제와 별개의 얘기지만, 메서드를 작성할 땐, 항상 올바른 입력값이 parameter로 넘어올 거란 기대는 버리는게 좋다.
그러므로 메서드를 작성할 때, 가장 먼저 해야할 것이 값의 유효성 검사이다.
아무튼 이번 코드의 포인트는 기본값을 어떻게 주느냐에 따라 else문을 생략 가능하다는 점과
if( 90 > score && score >= 80 )과 같이 복잡하게 쓰지 않아도 된다는 점을 확인하자.
import java.util.*;
public class Step2_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Score s = new Score();
s.a = sc.nextInt(); // 입력값
s.checkGrade(s.a);
}
}
class Score{
int a;
void checkGrade(int a) {
char grade = 'F';
if(a < 0 || a > 100) // 유효성 검사
return;
if(a >= 90)
grade = 'A';
else if (a >= 80)
grade = 'B';
else if(a >= 70)
grade = 'C';
else if(a >= 60)
grade = 'D';
System.out.println(grade);
}
}
'알고리즘 분류 > Step2 조건문' 카테고리의 다른 글
</Step2_6> 2525 오븐 시계 JAVA (0) | 2023.03.11 |
---|---|
</Step2_5> 2884 알람 시계 JAVA (0) | 2023.03.11 |
</Step2_4> 14681 사분면 고르기 JAVA (0) | 2023.03.11 |
</Step2_3> 2753 윤년 JAVA (0) | 2023.03.11 |
</Step2_1> 1330 두 수 비교하기 JAVA (0) | 2023.03.11 |