강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

정현님의 프로필 이미지
정현

작성한 질문수

김영한의 실전 자바 - 중급 1편

열거형 두번째 문제

작성

·

93

0

안녕하세요 열거 타입은 매개변수로 못 쓰나요?? 빨간 불이 계속들어오는데 어떻게 해결하면 좋을까요?

 

package class05EnumClass;

public class AuthGradeMain {
    public static void main(String args[]){

        AuthGrade[] authGradeList = AuthGrade.values();

        for(AuthGrade grade : authGradeList){
            printGrade();
        }
        //AuthGrade authGrade 매개변수를 넣을때 에러가 발생
        private static void printGrade(AuthGrade authGrade){
            System.out.println(authGradeList);
        }

        }

}
package class05EnumClass;

public enum AuthGrade {
    GUEST(1,"손님"),LOGIN(2,"로그인 회원"),ADMIN(3,"관리자");

    private final int   level;
    private final String description;
    private AuthGrade(int level, String description){
        this.level=level;
        this.description=description;
    }

    public void getAuthGrade(AuthGrade authGrade){
        System.out.println("레벨"+authGrade.level+"등급"+authGrade.description);

    }

    public int getLevel(AuthGrade authGrade){
        return authGrade.level;
    }

    public String getDescription(AuthGrade authGrade){
        return authGrade.description;
    }
}

답변 2

0

안녕하세요. 정현님, 공식 서포터즈 OMG입니다.

AuthGradeMain을 아래와 같이 변경해주세요.

public class AuthGradeMain {
    public static void main(String args[]){

        AuthGrade[] authGradeList = AuthGrade.values();

        for(AuthGrade grade : authGradeList){
            printGrade(grade);
        }
    }
    //AuthGrade authGrade 매개변수를 넣을때 에러가 발생
    private static void printGrade(AuthGrade authGrade){
        System.out.println(authGrade);
    }
}

감사합니다.

0

printGrade() 메서드 위치가 메인 이라서 오류가 납니다. 한번 바꿔 보시고, 해보시죠.

정현님의 프로필 이미지
정현

작성한 질문수

질문하기