public class Programmer {
private int salary = 1000;
public int getSalary() {
return salary;
}
public void setSalary(int newSalary) {
this.salary = newSalary > salary ? newSalary : salary;
}
}
Александр Столбов
51 уровень
Подскажите пожалуйста, почему так не проходит?
Обсуждается
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
vit9505
21 февраля 2022, 07:36
Мне кажется, проблема в том, что в сеттере в тернарном операторе ты только один раз упомянул salary класса, а дальше ты сравниваешь newSalary с неизвестным salary, а не с this.salary.
у меня это выглядело максимально забавно:
+3
Татьяна Тинцевицкая
30 ноября 2021, 20:59
У меня валидатор пропустил с тернарным оператором, хотя изначально я тоже думала, что нужен if
0
Ольга
5 февраля 2024, 07:44
Подскажите пожалуйста, а как вы решили?
0
Стас ПасинковSoftware Developer в ZipyMaster
5 февраля 2024, 08:36
покажіть як ВИ намагалися вирішити.
можливо у вас дрібна помилка просто, і не треба йти питати готове рішення в інших
0
Nikita SerkovBackend Developer в Kameleoon
19 ноября 2021, 14:40
Я думаю проблема именно в том что должен использоваться if и если условие не выполняется то не нужно действие salary = salary. Не нужна конструкция if/else. Нужно просто if.
0
Nikita SerkovBackend Developer в Kameleoon
19 ноября 2021, 14:42
И стиль кода не очень... сначала ты использует this.salary а потом просто salary
this.salary нужно только если ты в метод передаешь такое же название переменной иначе можно просто использовать salary.
+1
Matthew
19 ноября 2021, 17:53
Я тоже решал эту задачу через тернарный оператор, и моё решение валидатор принял. Правда у меня он в скобках, но это вроде на последовательность выполнения операций не влияет.
В порядке бреда: Может быть дело в том, что в методе setSalary() передаваемый параметр называется newSalary, а не salary?
+1
Kaban_bo
7 апреля 2023, 15:19
я как раз с salary и сделал, валидатор пропустил.
0
Ольга
5 февраля 2024, 07:44
Подскажите пожалуйста, а как вы решили?
0