CodeSprout程式萌芽
← 返回題庫Java 11 基礎語法 / 第 400 題操作教學 ↗
困難Java 例外處理機制

400. 例外批次交易:5筆奇數・略過失敗值・每批和錯誤數

Java 例外處理機制自訂例外finally批次交易

texts 從索引0起每 5 筆一批,最後不足仍為一批,空輸入沒有批次。每批 try 開始時開啟一個虛擬資源,finally 保證關閉一次,不得存取真正檔案。逐筆 trim 後解析十進位 int,必須為奇數,否則 throw 自訂受檢例外 ValidationException extends Exception。格式錯誤與驗證失敗使用同一處理規則:錯誤只略過該筆,繼續處理本批下一筆;提交成功值的總和。 輸出[第0批提交和, 第0批錯誤數, 第1批提交和, 第1批錯誤數, ...]。

請使用 Java 11 完成 Solution.solve;直接回傳資料,不使用 Scanner 或自行讀取標準輸入。

傳入的資料

texts:String[]。陣列/集合依 JSON 範例的順序傳入,索引從 0 開始。

回傳的答案

[第0批提交和, 第0批錯誤數, 第1批提交和, 第1批錯誤數, ...]。

範例 1
傳入[[]]
回傳[]
範例 2
傳入[["1"]]
回傳[1, 0]

輸入不為 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 或讀取輸入。

</>你的程式碼
Java 11
草稿只存在這台裝置Tab 縮排・Esc 再 Tab 離開編輯器 ⌘ / Ctrl + Enter 測試

測試與草稿保存在這台裝置。登入後可提交私人練習,或儲存先前的全對練習;程式不會自動公開。

登入後提交
每一次練習都可以私人保存,發布文章是另一個步驟。

測試結果

12 組練習測資

準備好了嗎?按「測試程式」看看結果。

>_每一次嘗試,都是進步。結果會顯示在這裡。

測試在瀏覽器內執行,供練習參考;不代表正式評分。Java 11 首次載入需要網路。Java 11 環境由 CheerpJ 提供。