1
나는 다음과 같은 몸이 클래스의 성적이 다른이 경우-방지하는 방법 :이 시나리오에서 문
public class Grades {
public static Grade getGrades(int marks) {
if (marks < 10) {
return Grade.FAILED;
} else if (marks < 13) {
return Grade.DISTINCTION;
} else if (marks < 15) {
return Grade.GREAT;
} else {
return Grade.GREATEST;
}
}
public static void main(String args[]){
System.out.println(getGrades(6));
}
}
그리고 열거 클래스 : 나는 다른 경우를
public enum Grade {
FAILED("F"),
DISTINCTION("D"),
GREAT("G"),
GREATEST("G");
private String code;
Grade(String code){
this.code = code;
}
public String getCode() {
return code;
}
}
을 피할 수있는 방법 getGrades(int marks)
에 전화 할 때의 건설은?
을 왜 그것을 피하기를 원합니까? 좋아 보인다. –
'등급'(예 :'FAILED ("F", Integer.MIN_VALUE, 9), DISTINCTION ("D", 10, 12)'등의 ctor에 추가 매개 변수로 범위를 전달한 다음' Grade.values ()를 사용하여 값이 포함 된 학년 범위의 인스턴스를 찾습니다. –
두 가지 답변이 내부적으로 사용됩니다.이 작업을 수행하려면 if/else가 필요합니다. 어떤 접근 방식도 현재의'getGrades' 메소드보다 낫다. –