-2
我有一個程序可以生成雙精度值。我的一些結果是不應該發生的NaN,我想知道NaN代碼分配的位置。 我不想被迫在程序的每一步測試Double.isNaN
。最好的情況是有一種方法,當你嘗試從一個空對象調用一個方法時,就像完成NaN值一樣拋出一個異常。在整個Java程序中檢測NaN分配
編輯:很明顯,我的問題顯然不清楚。 我的程序創建具有double值的對象。由於操縱對象的幾種方法,這些值被改變了數百萬次。問題是,我不得不檢查每個修改該值的方法中的值是否爲NaN,或者是否有方法檢測NaN何時分配給整個程序。
我完全不明白。難道你不能只循環雙代:生成時生成雙是NaN? –
有很多像quickcheck這樣的工具能以非常聰明的方式生成測試數據。也許你可以使用它來編寫特殊的單元測試,以揭示哪些操作最終將計算成NaN。 – GhostCat