學習軌道
/
Java
Java
/
練習
/
足球賽事報導
足球賽事報導

足球賽事報導

學習練習

簡介

switch 敘述

就像 if/else 敘述一樣,switch 敘述可以依照條件執行程式碼,改變程式的流程。 差別在於,switch 敘述只能把基本型別或字串運算式的值,跟預先定義好的常數值做比較。

使用 switch 敘述時,有幾個關鍵字很有用。

  • switch:這個關鍵字用來宣告 switch 的結構。 後面接著會改變結果的運算式或變數。
  • case:你會用這個關鍵字宣告結果的不同可能性。
  • break:break 關鍵字很有用,可以在想要的流程結束時停止 switch 的執行。 如果忘了加,程式會繼續執行,可能導致出乎意料的結果。
  • default:正如它的名字,當沒有其他 case 符合運算式的結果時,就用它當作預設的結果。

最簡單的用法,是測試基本型別或字串運算式,並根據它的值做出決定。 例如:

String direction = getDirection();
switch (direction) {
    case "left":
        goLeft();
        break;
    case "right":
        goRight();
        break;
    default:
        // otherwise
        markTime();
        break;
}

說明

你正在開發一套系統,協助某個足球俱樂部網站的工作人員報導比賽。資料會從各種來源接收,經過清理後匯入單一串流。

1. 根據球衣號碼輸出球員的描述

這支球隊只踢 4-3-3 陣型,也從未同意 1965 年那項允許替補的規則變更,更別說擴編球員名單了。

球員的描述如下:

1 -> "goalie"
2 -> "left back"
3 & 4 "center back"
5 -> "right back"
6, 7, & 8 -> "midfielder"
9 -> "left wing"
10 -> "striker"
11 -> "right wing"

請實作靜態方法FootballMatchReports.onField(),根據球衣號碼輸出球員的描述。

FootballMatchReports.onField(10);
// => "striker"

2. 若球衣號碼不在官方名單中,就輸出 "invalid"

請修改FootballMatchReports.onField()方法,讓它在處理 1-11 範圍之外的球衣號碼時回傳 'invalid'。

FootballMatchReports.onField(13);
// => "invalid"
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Java Exercism

準備好開始 足球賽事報導 了嗎?

註冊 Exercism,透過 26 個概念158 個練習 和真人引導來學習並精通 Java,全部免費。