私は二重の値を生成するプログラムを持っています。私の結果の中には、NaNがありますが、これは起こりそうにないので、コードNaNがどこに割り当てられているか知りたいと思います。 私はプログラムのすべてのステップでDouble.isNaN
を強制的にテストしたくないです。最善のシナリオは、ヌルオブジェクトからメソッドを呼び出そうとしたときにNaN値が割り当てられたときに例外がスローされるようにする方法です。Javaプログラム全体のNaN割り当ての検出
編集:はい、明らかに私の質問は明確ではありませんでした。 私のプログラムは、二重の値を持つオブジェクトを作成します。これらの値は、オブジェクトを操作するいくつかの方法のおかげで、何百万という時間に変更されます。問題は、値を変更するすべてのメソッドで値がNaNであるかどうかを確認しなければならないか、またはプログラム全体でNaNが割り当てられたときに検出する方法があるかどうかです。
私はかなり分かりません。ダブル・ジェネレーションをループすることはできません:生成されたNaNの間にdoubleを生成しますか? –
非常にスマートな方法で*テストデータを生成するクイックチェックのようなツールがあります。おそらく、それを使って演算がNaNに計算されることを明らかにする特別な単体テストを書くことができます。 – GhostCat