강의로 돌아가기
-

switch문 실습 질문입니다.

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

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

작성중인 코드―SwitchExam.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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 +"입니다.");
  }
}
3 개의 답변
정두식_

이렇게 하시면 됩니다.

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)에 설명되어 있습니다. 정두식_ 2017.08.18 11:24
  • -
    질문이 있습니다 case12~2 를 저렇게 작성하셨는데 나머지도 case12~2 처럼 했더니 오류가 뜨는데 왜그런지 알 수 있을까요..? 자바 초보입니다. - 2017.08.18 11:24
-

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문에 대해 이해를 못하고 있는것 같습니다.

Minhyeok Ko
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: case 4: case 5: season = "봄" break;
     case 6: case 7: case 8: season = "여름" break;
     case 9: case 10: case 11: season = "가을" break;
      }
    //이 위에서 switch문을 완료해야 합니다.
    System.out.println("지금은 "+ month +"월이고, "+ season +"입니다.");
  }
}

이렇게 작성하시면 수월합니다.

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