375. AutoCloseable:4資源失敗集合R3・bodyFail 時丟例外・主例外及suppressed
實作 Tracked implements AutoCloseable,透過同一個 try-with-resources 依序宣告 R0 至 R3。建構子永遠成功,記錄 open:名稱。區塊記錄 body,並在「bodyFail 時丟例外」時 throw new Exception("body")。close() 先記錄 close:名稱,若closeFail且名稱在[R3]就丟Exception("close:"+名稱)。讓Java管理反向關閉、主例外與suppressed;外層catch先記錄caught:主訊息,逐一記錄suppressed:訊息;沒有例外就記錄success;最末記錄finally。最後回傳:例外訊息清單,主例外先,接著依getSuppressed順序;無例外為[]。不得開啟真正檔案或網路資源。
請使用 Java 11 完成 Solution.solve;直接回傳資料,不使用 Scanner 或自行讀取標準輸入。
傳入的資料
bodyFail:boolean;closeFail:boolean;flag:boolean。陣列/集合依 JSON 範例的順序傳入,索引從 0 開始。
回傳的答案
例外訊息清單,主例外先,接著依getSuppressed順序;無例外為[]。
看個例子
[false, false, false][][true, false, false]["body"]資料範圍
輸入不為 null。數字元素介於 -1000~1000、陣列長度 0~40,除非題意另有指定;字串長度 0~80。所有計算與回傳整數均在 Java int 範圍內(題目明示的 long 運算除外)。文字排序以 Java String.compareTo 為準;英文字母與數字皆為 ASCII。整數除法向 0 截斷;空輸入處理依題意。
💡 給我一點提示+
先逐條寫出資料轉換與分支規則,確認空輸入及邊界,再處理一般案例。
使用 Java 11,在 public class Solution 中完成題目指定型別的 public static solve(...) 方法,以 return 回傳答案。可加入 import、輔助類別與方法;保留入口型別,不需撰寫 main 或讀取輸入。
公開解答文章
點文章標題閱讀完整內容。文章由使用者發布,尚未經過人工審核。
先完成練習,再另外撰寫文章;只有按發布才會公開。
這題還沒有公開解答
完成一次全對的練習後,另外撰寫並發布文章,分享你的思考過程。
AI 助教
我的積分 ↗登入後即可使用初始 5 點,讓 AI 助教陪你找出下一步。
使用 Google 登入每次分析會清除前一次的問答,只呈現最新一組。PRO 每日額度依臺灣時間凌晨 00:00 重置;AI 助教積分不會每日歸零。
送出時,系統會將目前題目、程式碼與結構化錯誤類型交給 AI 分析,只提供提示,不給完整答案。
非題庫問題會回覆「本機器人不會回答非題庫之問答問題」。分析成功才會使用積分;服務出錯不扣點。
測試結果
8 組練習測資準備好了嗎?按「測試程式」看看結果。
測試在瀏覽器內執行,供練習參考;不代表正式評分。Java 11 首次載入需要網路。Java 11 環境由 CheerpJ 提供。