2016-10-15 63 views
-1

初學者在這裏試圖返回註釋方法:使用switch語句高爾夫球場景

public static String comment(int score, int parForHole) { 
    if (parForHole - score > 4) 
     return "condor!!!!"; 
    if (parForHole - score == 3) 
     return "albatross!!!"; 
    if (parForHole - score == 2) 
     return "eagle!!"; 
    if (parForHole - score == 1) 
     return "birdie!"; 
    if (parForHole - score == 0) 
     return "par"; 
    if (parForHole - score == -1) 
     return "bogey"; 
    if (parForHole - score == -2) 
     return "double bogey"; 
    if (parForHole - score < -2) 
     return "triple+ bogey"; 

    return "asdasd"; // Replace by a suitable switch stmt. 
} 

有沒有類似的方式來做到這一點使用switch語句?我不太熟悉它。 任何幫助表示讚賞謝謝!

回答

1

你可以計算總parForHole的 - 得分,然後通過運行一個switch語句的結果。

public static String comment(int score, int parForHole) { 
    int total = parForHole - score; 

    switch(total) { 

     case 3 : 
      return "albatross!!!"; 


     // ... and so on 


    } 

    if (total > 4) 
     return "condor!!!!"; 
    if (total <= 3) 
     return "triple+ bogey!!!!"; 

    return "asdasd"; 
} 

但用於比較> 4等我猜你必須保持if語句。

+0

突破?真? – dit

0
public static String comment(int score, int parForHole) { 
    String strig; 
    switch(parForHole - score){ 
     case 1: 
      string = "something"; 
      break; 
     case 2: 
      string = "something else"; 
      break; 
     default: 
      string = "default string"; 
      break; 
    } 
    return string; 
} 

開關只是基本上切換到你給它的情況。如果parForHole得分爲1,則它將切換到情況1.如果parForHole - 得分爲未定義值,則開關將使用默認情況。回國後