Ваша проблема возникает из-за того, что вы пытаетесь присвоить double
переменной String
. r
определяется как String
and Double.parseDouble(r)
возвращает double
. Он будет работать, если вы вместо этого назначите его result
, например: double result = Double.parseDouble(r);
Однако нет необходимости сначала анализировать новый double
из String
. Вы хотите вернуть NaN
, когда x == NaN
. В этом случае вы можете просто вернуть x
, потому что, ну, x
это NaN
. Нет необходимости в другой переменной, синтаксическом анализе и всем остальном.