2014-01-30 3 views
-1

누군가가 "If else statement"를 "switch"로 바꿀 수 있는지 궁금합니다. 의사 코드가 있습니다. 도와주세요."If else statement"를 switch 문으로 변경하십시오.

IF month is 1,2, or 3, season = "Winter 
Else if month is 4, 5, or 6, season = "Spring" 
Else if month is 7,8, 9, season = "Summer" 
Else if month is 10,11, or 12, season = "Fall" 
If season is "Winter", season = "Spring" 
Else if season is "Spring", season = "Summer" 
Else if season is "Summer", season = "Fall" 
Else season = "Winter" 

2.My 코드는 switch 문에 첫번째 부분을 변경해야

import java.util.Scanner; 
    public class mylab 

    { 
     public static void main(String[] args) 

     { Scanner in = new Scanner(System.in); 

     int month; 
     int day; 
     String season= "seasons"; 


     System.out.print("type a two digit month"); 
     System.out.print(" and day"); 
     month = in.nextInt(); 
     day = in.nextInt(); 


     String fall = " fall"; 
     String winter = " winter "; 
     String summer = " summer"; 
     String spring = " spring"; 

     System.out.print(" Month="+ month +" Day= "+day); 

     if(month <= 3) 
     { System.out.println(" Winter"); 
     season= winter; } 
     else if (month <=6) 
     { System.out.println(" Spring "); 
      season=spring; } 

     else if (month<= 9) 
     { System.out.println(" Summer "); 
      season= spring; } 

      else if (month<=12) 
     { System.out.println(" Fall"); 
      season= fall; } 

3.I입니다. 이것은 내가 지금까지 가지고있는 것입니다.

switch(month) 
    { case 1: season= " winter";if (month <= 3) ;break; 
    case 2: season= " spring"; if (month <= 6) ;break; 
    case 3: season = " summer"; if (month <= 9); break; 
    case 4: season= " fall"; if (month <= 12); break ; 
    } 

그러나 작동하지 않습니다.

+4

이 전적으로 INV이기 때문에 그것은 작동하지 않을 것입니다 alid 구문. 이에 대해서는 [Java Trails] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html)를 참조하십시오. – Makoto

+1

나에게 수업을위한 숙제 같은 냄새 ... – mellowfish

답변

2

개월은 1, 2, 3, 시즌 = "겨울의 경우

이 간단하게 될 것입니다 ...

String season = ""; 
switch (month) { 
    case 1: 
    case 2: 
    case 3: 
     season = "Winter"; 
     break; 
    case ...: // etc... 
} 

case 다음 case을 통해 떨어질 것 가

하지 않는 한 a break

자세한 내용은 The switch Statement을 참조하십시오.

+0

좋아, 그래서 – user3251123

0

일부 정수 나누기는 어떻습니까?

switch((month + 2)/12) { 
    case 1: 
     // winter 
     break; 
    case 2: 
     // spring 
     break; // WOOHOO SPRING BREAK! 
    case 3: 
     // summer 
     break; 
    case 4: 
     // fall 
     break; // winter is coming... 
    default: 
     break; 
} 
+0

로 바뀌었다. 그래서, 조금 바꿨지 만 지금은 두 번째 부분이 작동하지 않는다. – user3251123

0

힌트 :

  1. 두 스위치 문을 필요로한다. 하나는 첫 번째 if/else 체인 용이고 다른 하나는 두 번째 체인용입니다. (비록 두 개의 체인을 하나로 쉽게 접을 수는 있지만)

  2. switch 문 구문은 Java 튜토리얼 here에 나와 있습니다.

  3. 다음 문은 아무것도 수행합니다!

    if (month <= 3) ; 
    

    그것은 말한다 잡았다 " 자바 문법". 달이 작거나 같은 3 성 테스트하는 경우, 다음 빈 문을 실행이는 이다 " ... 일부 사람들이 생각하는 이유 중 하나는 당신해야 자바와 유사한 언어의 경우 루프 문에 항상 사용 중괄호.

관련 문제