17query
32
2022-01-13 15:51:15 작성 2022-01-13 16:15:48 수정됨
2
122

switch문에 열거타입을 쓰려고 하는데 어떻게 해야할까요?


위 문제를 푸는데 열거타입을 쓰라고 하는데 열거타입은 상수인데 어떻게 문자열을 바꿔서 쓸 수 있을까요? switch 문에 열거타입도 들어갈 수 있다고는 봤는데 막상 코드르 짜려고하니까 잘안되네요..ㅜ



package chap5;

import java.util.Scanner;

public class Number8 {

	public Number8() {

		Scanner in = new Scanner(System.in);
		String ans = in.next();

		switch (ans) {

		case "MONDAY":
			System.out.println("싫다.");
			break;
		case "TUESDAY", "WEDNESDAY", "THURSDAY":
			System.out.println("그저 그렇다.");
			break;
		case "FRIDAY":
			System.out.println("좋다.");
			break;
		case "SATURDAY", "SUNDAY":
			System.out.println("최고");
			break;

		default:
			System.out.println("월요일은 싫다.");

		}

	}

	public enum week {
		MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
	};

}


0
  • 답변 2

  • 씨커
    29
    2022-01-13 16:16:07
    week w = week.valueOf(ans.toUpperCase());
    switch (w) {
    case MONDAY:
    ...
    enum 명은 대문자로 시작하는게 일반적 입니다.
    week -> Week 
  • 17query
    32
    2022-01-13 17:22:42

    감사합니다!

  • 로그인을 하시면 답변을 등록할 수 있습니다.