(Хедз-ап, я никогда раньше не писал подходящую программу, так что терпите меня)
Я пытаюсь написать оператор if, который сравнивает ЗНАЧЕНИЯ полей position
двух экземпляров (который буквально возвращает целое число «позиция»). Проблема в том, что они являются закрытыми полями в разных классах, поэтому я не могу получить к ним доступ напрямую. Вместо этого я создал методы в каждом классе, которые возвращают переменную.
Теперь в моем операторе if это условие, которое должно быть истинным / ложным:
if (enemy1.getPosition() = player.getGun1Position())
Теперь проблема в том, что если я использую =
, машина предполагает, что я пытаюсь присвоить значение позиции enemy1
, и я пытаюсь найти, что ==
сравнивает расположение в памяти, а не значение двух полей.
Я также читал, что
.equals()
можно использовать, но я предполагаю, что здесь его нельзя использовать, потому что
enemy1.getPosition().equals(player.getGun1Position())
выдает ошибку при попытке.
ПРИМЕЧАНИЕ: Я не могу изменить поля на общедоступные, потому что это для назначения, а поля должны быть приватными.
Любая помощь будет оценена :) 1032 *