Img profile default
신현식
  • 2016.3.31 22:46
  • 조회수 481
  • 답변수 2
Img profile default
신현식
  • 2016.3.31 22:46
  • 조회수 481
  • 답변수 2

switch문 실습 질문입니다.

월을 표시하는데 12~2를 표시할 방법이 생각 나지 않아
12, 1, 2 전부 case 를 만들었습니다.

case 12 || 1 || 2 :
논리곱으로 가능한게 아닌가 해서 했더니 오류가 났습니다.
12~2를 표시할 방법은 없나요?

SwitchExam.java
import java.util.Calendar;
public class SwitchExam{
  public static void main(String[] args){
    //month에는 현재 월이 들어 있습니다.
    int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
    String season = "";
        //switch문을 이용해서 season이 봄/여름/가을/겨울 중 하나의 값을 가지도록 만들어 보세요.
        switch(month){
      case 12:
        season = "겨울";
        break;
      case 1:
        season = "겨울";
        break;
      case 2:
        season = "겨울";
        break;
      case 3:
        season = "";
        break;
      case 4:
        season = "";
        break;
      case 5:
        season = "";
        break;
      case 6:
        season = "여름";
        break;
      case 7:
        season = "여름";
        break;
      case 8:
        season = "여름";
        break;
      case 9:
        season = "가을";
        break;
      case 10:
        season = "가을";
        break;
      case 11:
        season = "가을";
        break;
      default:
      }
    //이 위에서 switch문을 완료해야 합니다.
    System.out.println("지금은 "+ month +"월이고, "+ season +"입니다.");
  }
}
  • #자바 입문
  • #switch문 - 실습

2 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.3.31 23:08

    이렇게 하시면 됩니다.

    import java.util.Calendar;
    public class SwitchExam{
      public static void main(String[] args){
        //month에는 현재 월이 들어 있습니다.
        int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
        String season = "";
            //switch문을 이용해서 season이 봄/여름/가을/겨울 중 하나의 값을 가지도록 만들어 보세요.
            switch(month){
          case 12:
          case 1:
          case 2:
            season = "겨울";
            break;
          case 3:
            season = "";
            break;
          case 4:
            season = "";
            break;
          case 5:
            season = "";
            break;
          case 6:
            season = "여름";
            break;
          case 7:
            season = "여름";
            break;
          case 8:
            season = "여름";
            break;
          case 9:
            season = "가을";
            break;
          case 10:
            season = "가을";
            break;
          case 11:
            season = "가을";
            break;
          default:
          }
        //이 위에서 switch문을 완료해야 합니다.
        System.out.println("지금은 "+ month +"월이고, "+ season +"입니다.");
      }
    }
    

    • 참고로 1단계 문제 말고 2단계 문제(tryhelloworld.co.kr/courses/자바-입문/lessons/switch문-실습-d645dd04-de46-42fb-b391-cd60a74bc945)에 설명되어 있습니다.-정두식
      2016.3.31 23:09
    • 질문이 있습니다 case12~2 를 저렇게 작성하셨는데 나머지도 case12~2 처럼 했더니 오류가 뜨는데 왜그런지 알 수 있을까요..? 자바 초보입니다.-김도윤
      2016.6.29 22:41
  • 881814398608256
    김도윤
    • 2016.6.29 22:53

    import java.util.Calendar;
    public class SwitchExam{
    public static void main(String[] args){
    //month에는 현재 월이 들어 있습니다.
    int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
    String season = "";
    //switch문을 이용해서 season이 봄/여름/가을/겨울 중 하나의 값을 가지도록 만들어 보세요.
    Switch(month){
    case 12:
    season = "겨울";
    break;
    case 1:
    season = "겨울";
    break;
    case 2:
    season = "겨울";
    break;
    case 3:
    season = "봄";
    break;
    case 4:
    season = "봄";
    break;
    case 5:
    season = "봄";
    break;
    case 6:
    case 7:
    case 8:
    season = "여름";
    break;
    case 9:
    season = "가을";
    break;
    case 10:
    season = "가을";
    break;
    case 11:
    season = "가을";
    break;
    default:
    }

    //이 위에서 switch문을 완료해야 합니다.
    System.out.println("지금은 "+ month +"월이고, "+ season +"입니다.");
    

    }
    }
    이런식으로는 안되나요?
    아직 Swtich문에 대해 이해를 못하고 있는것 같습니다.

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.