2014-01-30 135 views
-1

想知道是否有人可以幫助我將「If else語句」更改爲「switch」 好吧c僞代碼是。 請幫忙。將「if else語句」更改爲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代碼

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.我只需要第1部分更改爲switch語句。 這是我到目前爲止

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

IF月份爲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. 需要兩個switch語句。一個用於第一個if/else鏈,另一個用於第二個鏈。 (儘管您可以輕鬆地將兩條鏈折成一條!)

  2. switch語句的語法在Java教程here中進行了說明。

  3. 下面的語句什麼也不做:

    if (month <= 3) ; 
    

    它說:「如果試驗月份是小於或等於3,然後執行空語句這是一個‘疑難雜症’在Java語法! ...和的原因之一,有些人認爲你應該總是使用大括號如果用環在Java和類似的語言語句。