LONGEPASS
Q94.

一Java 程式片段如下,執行後下列何者為其輸出?電腦軟體設計(JAVA) 乙級 Java 第 94 題 題目 圖片

電腦軟體設計(JAVA) · 乙級 · Java · Q94

難易度分析

3 / 5

本題需綜合分析字串拆分、集合去重及自動排序等多個程式邏輯步驟,要求對不同集合類別的特性有精確掌握,屬於典型的程式追蹤分析題。

正確答案:①[a, saw]

① [a, saw]:程式使用 StringTokenizer 將字串 "I saw a saw that saw a saw" 拆解為單詞,HashSet d 收集重複出現的單詞("a" 與 "saw"),最後以 TreeSet 排序後輸出為 [a, saw]。

錯誤選項解析

  • ② [I, saw]:"I" 在字串中僅出現一次,不會被歸類為重複單詞,因此不會出現在 d 集合中。
  • ③ [I, that]:"I" 與 "that" 均為僅出現一次的單詞,不會進入 d 集合;此選項混淆了唯一出現與重複出現的單詞。
  • ④ [that, saw]:"that" 僅出現一次,不會被加入 d 集合;正確的重複單詞應為 "a" 與 "saw"。
Learning Tip

"本題考 HashSet 與 TreeSet 的特性差異:HashSet 不保證順序且自動去重,TreeSet 會依自然順序排序。關鍵在於理解 `add()` 回傳 false 表示元素已存在,藉此識別重複項目。常考陷阱是誤以為輸出順序與原始字串順序相同,實際上 TreeSet 會按字母排序。"

學員答題分佈

①[a, saw]0%
②[I, saw]0%
③[I, that]0%
④[that, saw]0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目