Ошибка в if (S & lt; X) {: отсутствует значение, в котором требуется TRUE / FALSE [дублировать]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

109
задан Richie Cotton 26 December 2014 в 17:32
поделиться

2 ответа

Оценка condition привела к NA. Условие if должно иметь либо результат TRUE, либо FALSE.

if (NA) {}
## Error in if (NA) { : missing value where TRUE/FALSE needed

Это может случиться случайно в результате результатов вычислений:

if(TRUE && sqrt(-1)) {}
## Error in if (TRUE && sqrt(-1)) { : missing value where TRUE/FALSE needed

Чтобы проверить, отсутствует ли объект, используйте is.na(x) , а не x == NA.


См. также связанные ошибки:

Ошибка в if / while (условие) {: аргумент имеет нулевую длину

Ошибка в if / while (условие): аргумент не интерпретируется как логический

if (NULL) {}
## Error in if (NULL) { : argument is of length zero

if ("not logical") {}
## Error: argument is not interpretable as logical

if (c(TRUE, FALSE)) {}
## Warning message:
## the condition has length > 1 and only the first element will be used
149
ответ дан Community 18 August 2018 в 11:48
поделиться

Я столкнулся с этим при проверке нулевой или пустой строки

if (x == NULL || x == '') {

изменил ее на

if (is.null(x) || x == '') {
5
ответ дан pbatey 18 August 2018 в 11:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: