Задачи на создание объектов
Комментарии (732)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ildar Gabitov
7 июля 2023, 06:43
Чтобы не писать Getter/Setter на каждую переменную, есть фишка в IDEA.
В Поиске ищете Getter, выбираете его как на картинке, в открывшемся меню выбираете на какие переменные нужно создать Get/Set методы и вуаля - готово.
+1
Anonymous #2277416
23 июля 2023, 13:24
А можно еще проще. Ставим курсор туда, где надо вставить геттер / сеттер, и нажимает Alt+Insert.
+4
Ерлан Амантайулы
6 марта, 05:53
спасибо дружище!
0
Даниил Синицын
13 марта 2023, 18:02
Блин, прикол конечно. Это четвертая лекция, а тут уже надо понимать, что такое конструктор. Хотя конструкторы даются только в восьмой лекции. И это в задаче с пометкой "легкая". Конечно во вступлении к 5у уровню даются пояснения, которые раскрывают суть происходящего. Но вот далеко не все знакомы с подобным подходом, поэтому у некоторых он вызывает недоумение.
Я раньше тоже удивлялся, но помог изученный в перерыве между подходами к этому ресурсу курс на степике "как учиться эффективно". Там раскрывалась одна из парадигм обучения, которой, видимо, руководствовались авторы данного курса. Кратко суть такая:
Шаг 1 - дать практику, чтобы обучающиеся могли "пощупать" тему, заинтересоваться. Понять, что им не хватает знаний, т.к. часть заданий без подготовки решить не получится.
Шаг 2 - дать теоретические знания, в т.ч. с учетом пробелов, которые обучающиеся у себя выявили в ходе шага 1. Это должно простимулировать обучающихся лучше усвоить материал.
Шаг 3 - Дать задание на закрепление пройденного материала.
Соответственно вывод опять же простой - если не можете что то решить основываясь на данных в этом курсе до этого момента знаниях - у вас есть несколько вариантов. 1. Гуглите. 2. Читайте доп. литературу. 3. "Покрутите" задачу и оставьте ее "на потом". Теорию дадут через несколько тем, можно будет вернуться и решить ее.
Отчаиваться и бросать обучение с формулировкой "ничерта не понятно!" - ни в коем случае не следует.
+4
Вячеслав
19 июля 2023, 08:11
Конструктор изучается позже а дается сейчас, чтобы учить тому что в работе будут давать то, чего ты не знаешь. Навык поиска информации - учат этому навыку. Понемногу.
+3
Х-50 Пулемётчик кафедры в ХНМУ
24 января 2023, 09:01
Вернулся к нерешённым задачам с 22 уровня сюда. НО - ничего не понятно. Реально. Перед этой задачей следовало бы дать больше теории и задач на элемунты решения этойзадачи. В конейц добило как return score > 0; преобразуется в булеву функцию???? Булево выражение может принять только True/False, а 1 и 0 в Джаве не могут приравниываться к True/False,... Или я не правильно понимаю?
public boolean fight(Cat anotherCat){
int ageScore = Integer.compare(this.age, anotherCat.age);
int weightScore = Integer.compare(this.weight, anotherCat.weight);
int strengthScore = Integer.compare(this.strength, anotherCat.strength);
int score = ageScore + weightScore + strengthScore;
return score > 0;
0
Timur KhasmamedovExpert
26 января 2023, 19:32
score > 0 должно дать на выходе булево значение, т.е. фолс/тру. (score напомню типа int)
и ты его вернешь. ты можешь также ввести лишнюю переменную типа булеан и отдельно вычислить это булево значение.
как например того, что ты пишешь в вопросе... код в теле выполнится лишь тогда, когда число numb больше нуля.
а вообще похоже решение и в одну строчку нормально читается
0
Anonymous #2721182
12 января 2023, 09:09
Бред. Если брать решение как в ответе, то
false
false
false
Если поменять на
System.out.println(cat2.fight(cat1));
System.out.println(cat3.fight(cat2));
System.out.println(cat1.fight(cat3));
То
false
true
false
Если поменять на
System.out.println(cat2.fight(cat1));
System.out.println(cat3.fight(cat2));
System.out.println(cat3.fight(cat1));
То
false
true
true
Это как?
0
Mikhail
28 декабря 2022, 21:52
public boolean fight(Cat anotherCat){
int ageScore = this.age > anotherCat.age ? 1 : -1;
int weightScore = this.weight > anotherCat.weight ? 1 : -1;
int weightStrength = this.strength > anotherCat.strength ? 1 : -1;
return ageScore + weightScore + weightStrength > 0;
}
не пропускает :(
+1
Роман
29 декабря 2022, 13:58
я полагаю, что это из-за невозможности в вашем случае результата (ageScore + weightScore + weightStrength) = 0, т.е. гипотетической ничьи. не то что бы это проблема с практической точки зрения, ведь в любом случае он вернёт false, но валидатор хочет видеть возможность получения 0.
0
Дмитрий Программист 1С
11 января 2023, 03:19
Изначально сделал также как ты и тоже валидатор не пропускал. Как я понял, проблема в том, что, хоть код и верный результат дает, но "ничья" не может случиться с таким кодом, а следовательно мы ее не обрабатываем (так считает валидатор). При сравнении свойств котов нужно проверять значения на равенства между собой и если они равны, то возвращать ноль. При таком раскладе валидатор не ругается.
+2
Timur KhasmamedovExpert
26 января 2023, 21:13
Да, забыли крайнее значение когда все равны.
0
Ivan QA Automation Engineer Expert
15 ноября 2022, 08:55
Фигня какая-то!
У меня
Причём первый кот максимально прокачан и сильный - в первом случае он побеждает, а во втором нет.
Причём валидатор пропустил...
Получается, тот кот, что в первом аргументе всегда побеждает:
Но это неверно! Нужно же сравнивать по навыкам котов! Почему валидатор такой код пропустил?????
И как сделать так, чтобы побеждал тот, кто по силе круче, а не тот, кто идёт первым аргументом??? 0
Dmitry Student в Home
29 ноября 2022, 11:17
у тебя логика в коде неверная же
0
Ivan QA Automation Engineer Expert
29 ноября 2022, 12:34
уже поправил)))
0
AMIGO_2022_11_09
14 ноября 2022, 11:19
Ты всё сможешь, всё в ТВОИХ руках! Не сдавайся анон!
+3
Danil Lopatin
8 сентября 2022, 18:47
Че за хрень, написал решение, валидацию не проходит, хотя все правильно. Посмотрел правильное решение - все так же только имена другие. Надо было блять передвинуть метод мейн с конца в самое начало...... что за тупое условие, о котором не было сказано!!!!!
0
Никита Якимович
11 сентября 2022, 16:27
от перемены мест слагаемых сумма не меняется. где-то косячок)
П.С. у меня мейн снизу - проблем нет
+1
Dmitry Khmylev
14 августа 2022, 04:08
Что-то я туплю. Подскажите почему так.
В методе fight указываем две переменные - fight (Cat anotherCat)
А когда вызываем метод, то пишем - cat1.fight(cat2)
Запись fight (cat1 cat2) не проходит
0
jktuo
5 сентября 2022, 18:13
Вряд ли уже актуально, но всё же отвечу.
При указании переменных в методах класса мы всегда указываем их тип. Метод fight вызывается к объекту классу Cat и принимает лишь один параметр - объект класса Cat.
Вызываем мы этот метод к одному объекту (кот 1), а передаём в качестве аргумента другой объект (кот 2).
+5
Максим
16 июля 2022, 20:19
подскажите как это работает? Как внутри класса можно создавать экземпляр класса? Мне кажется, что экземпляр класса можно создавать в новом классе, а не в том же.
+1
Benjam1nBTN
2 августа 2022, 20:27
Вопрос не понятен, о чем речь?
0