Ошибка: оператор == не определен для аргумента типа (ов) float, void’ (libgdx)

#android #arrays #random #operator-keyword

#Android #массивы #Случайный #оператор-ключевое слово

Вопрос:

Я получаю сообщение, как указано в названии, при запуске этого кода:

 if (houseArray.size() > 0 amp;amp; houseArray.get(0).getY() == random() ) {
        addNewHouse();
        addNewRightHouse();

    };
 

Я хочу, чтобы мой код запускал эти две функции, когда дом передает случайную Y-координату.
Это функция random():

 private void random() {

    MathUtils.random(0, 1200);
}
 

Что я мог делать не так?

Заранее спасибо

Комментарии:

1. Я не понимаю, почему вы пытаетесь выполнить == random() метод on, потому что возвращаемый тип вашего метода — void, что означает, что он ничего не возвращает. и если он ничего не возвращает, то вы не можете сравнить его с чем-то.. вам нужно сформулировать свой вопрос относительно того, чего вы пытаетесь достичь.

2. Итак, проблема заключается в объявлении метода random()? Какой тип возвращаемого значения я должен установить?

Ответ №1:

Измените свой случайный метод на этот:

 private float random() {

    return MathUtils.random(0, 1200);
}
 

Или, что еще лучше, вместо создания метода, который вызывает другой метод, вы могли бы написать

 if (houseArray.size() > 0 
        amp;amp; houseArray.get(0).getY() == MathUtils.random(0, 1200)) {

    addNewHouse();
    addNewRightHouse();
}
 

Комментарии:

1. Он по-прежнему не будет добавлять эти дома .. :(два начальных дома просто попадают в нижний конец.

2. @user3091110 Не стесняйтесь задавать другой вопрос с необходимыми деталями, которые позволят нам помочь вам решить вашу проблему.