9498 시험

이 문제는 조건문을 배우면서 한 번쯤은 풀었던 것 같아요.


https://www.acmicpc.net/problem/9498

문제와는 별도로 메서드를 작성할 때 항상 올바른 입력 값을 매개 변수로 사용하십시오. 떨어질 것이라는 기대는 버리는 것이 좋다.

따라서 메서드를 작성할 때 먼저 값의 유효성을 검사해야 합니다.

어쨌든 이 코드의 포인트는 기본값을 어떻게 지정하느냐에 따라 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);
    }
}