Javaちょこっとリファレンス ブログ

Java開発時にぜひご利用ください。

Java

[Java例外] java.lang.ArithmeticException

投稿日:2018年10月13日 更新日:

以下のように表示されます。

(例外表示)
Exception in thread "xxx" java.lang.ArithmeticException: xxx

原因

  • 不正な計算が行われるとこのエラーが発生します。
    (ゼロ除算やBigDecimalにて割り切れない割り算を行ったなど)

対処方法

  • 不正な計算が行われないようにする

発生例

以下のようなパターンでエラーが発生します。

例1)100を0で割る

コマンドプロンプト
C:\>java Sample Exception in thread "main" java.lang.ArithmeticException: / by zero at Sample.main(Sample.java:3)

ゼロ除算は許可されていないのでエラーとなります。

例2)BigDecimalにて10/3を行う

コマンドプロンプト
C:\>java Sample Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. at java.math.BigDecimal.divide(BigDecimal.java:1690) at Sample.main(Sample.java:7)

10/3は3.333...と無限小数となるためBigDecimalの演算ではエラーとなります。
この場合、divideの引数に丸め方法を指定すればOKです。


スポンサーリンク

スポンサーリンク

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

[Java共通部品] 半角英数記号チェック

半角英数記号をチェックするサンプル共通関数です。 サンプルメソッド 例)半角英数記号の場合のみtru ...

[Java] 文字列の大文字→小文字の変換を行う(.toLowerCase)

文字列の大文字→小文字の変換を行うには、.toLowerCaseを使用します。 構文 (java.l ...

[Java] 文字列の小文字→大文字の変換を行う(.toUpperCase)

文字列の小文字→大文字の変換を行うには、.toUpperCaseを使用します。 構文 (java.l ...

[Java] Map型オブジェクトから指定した値が存在するかどうか判定する(.containsValue)

Map型オブジェクトから指定した値が存在するかどうか判定するには、.containsValue()を ...

[Java共通部品] 日付文字列が正しい日付かチェック

日付文字列(YYYYMMDD)が正しい日付かチェックする共通関数です。 サンプルメソッド 例)日付文 ...