質問: (-b - d) / (2 * a); system.out.println(x1); system.out.println(x2);
回答: 問題が発生した個所は、2行目の math.sqrt です。 b * b - 4 * a * c の値が -31 になりますが、 math.sqrt は実数にしか対応していないので 異常値として nan を返すのです。 参考↓ https://eng-entrance.com/java-sqrt-cbrt >戻り値:aの正の平方根。もし,引数がゼロより小さければ, >結果はnanになる。 その結果、3行目 4行目の計算の結果も nan になって、 5行目 6行目の system.out.println は nan と出力します。 ちなみに、これは気持ち的にはエラーなんですが、 プログラムとしてはエラーではなく、 計算の結果が異常値であることを示す正常動作です。 例外は発生しないし、nan は正しい浮動小数点数のひとつです。