問題
あなたは、複数のデータを処理するユーティリティメソッドを作成しようとしています。
データには不正なものが混じっている可能性があるため、1件ごとに個別の try-catch
で例外処理を行い、ログを残しながら全体を安全に処理する必要があります。
以下の仕様に従って処理を実装してください。
要件
- メソッド名は
processData(String[] inputs)
とする - 各
inputs[i]
をInteger.parseInt()
で整数に変換し、100 / 値
を計算する - 変換できない文字列(例:
"abc"
)や、ゼロ除算が発生する文字列(例:"0"
)が含まれる - 1件ごとに
try-catch
で処理し、例外が発生しても他の要素の処理を継続すること - 以下のように出力すること:
- 正常時:
入力 "20" の結果 → 5
- 変換失敗:
入力 "abc" は数値に変換できませんでした
- ゼロ除算:
入力 "0" はゼロによる除算エラーです
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
String[] inputs = {"20", "0", "abc", "10"};
ExceptionUtil.processData(inputs);
}
}
ヒント
- 各要素の処理を
for
文でループさせる Integer.parseInt()
ではNumberFormatException
が発生することがある100 / value
の除算ではArithmeticException
に注意try-catch
を1件ずつ分けて処理すれば、途中でエラーが起きても最後まで処理が続けられる
→ 解答例