Подтвердить что ты не робот

While (i!= i) {} - возможно ли иметь задание, которое всегда верно

Недавно у меня было интервью с компанией Software, в которой был задан следующий вопрос в техническом раунде:

Объявите я таким образом, чтобы условие всегда было истинным:

while(i != i) {
}

Возможно ли в java присвоить что-то подобное?

4b9b3361

Ответ 1

NaN не равен самому себе, поэтому

double i = Double.NaN;

Но я не думаю, что это хороший вопрос для интервью.

Цитата из спецификации языка Java:

NaN неупорядочен, поэтому:

  • Операторы численного сравнения <, <=, > и >= возвращают false, если один или оба операнда NaN (§15.20.1).
  • Оператор равенства == возвращает false, если либо операнд NaN. В частности, (x<y) == !(x>=y) будет false, если x или y составляет NaN.
  • Оператор неравенства != возвращает true, если либо операнд NaN (§15.21.1). В частности, x!=x есть true тогда и только тогда, когда x NaN.