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

문제와는 별도로 메서드를 작성할 때 항상 올바른 입력 값을 매개 변수로 사용하십시오. 떨어질 것이라는 기대는 버리는 것이 좋다.
따라서 메서드를 작성할 때 먼저 값의 유효성을 검사해야 합니다.
어쨌든 이 코드의 포인트는 기본값을 어떻게 지정하느냐에 따라 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);
}
}

