質問: ### 前提・実現したいこと 題名とおりです. 以下のプログラムは簡略版ですが,double型変数にNaNを代入し,その後if文でNaNが入っているか否かで処理を分岐させたいです. ### 発生している問題・エラーメッセージ 実行結果はaaaと表示され,aにはNaNが入っていないとみなされてしまいます.どうすればよいのでしょうか? ### 該当のソースコード ``` public class Sample1 { public static void main(String[] args){ double a=Double.NaN; if(a!=Double.NaN) { System.out.println("aaa"); } else { System.out.println("bbb"); } } } ``` ### 補足情報(FW/ツールのバージョンなど) eclipse2019,java10を使用しています.
回答: > > If either operand is NaN, then the result of == is false but the result of != is true. > > > とあるとおりです。 Double.isNaN)を使いましょう。