Реализовать метод fight

  • 4
  • Недоступна
Тео Баслим, полковник в отставке, в юности участвовал в боях, и теперь ему стало скучно. Он узнал, что его соседка Светочка Валерьевна завела полтысячи котов, и решил предложить ей устраивать бескровные кошачьи бои (на кровные она бы не пошла). Дело за малым: нам нужно реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (322)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Максим5 уровень, Алматы
вчера, 12:53
Ураааааа, c 9 попытки. Правда код получился большой , но зато понял что да как. Затупил сильно с тем что, не учел что сравнения нужно писать так : -- if else if else-- а не так: ---if else if esle if else if --- то 2 вариант будет останавливаться на том выражении которое будет true первое.
Andrej Michniov6 уровень, Vilnius
суббота, 11:53
какая то фигня, а если у меня экземпляры класса не будут называться Cat1 и Cat 2 , зачем эту ерунду писать
Moroz6 уровень, Кишинев
среда, 18:21
зачем использовать this, если здесь нет одинаковых переменных экземпляра класса и переменных метода? без this отлично работает.
Vasiliy6 уровень, Москва
14 января, 18:30
Блин! Сравнивать каждый аргумент метода - легко запутаться, более эффективно и красиво сравнивать математическую сумму , но сумма не проходит проверку WTF. пришлось писать много IF (((
PlMi 08 уровень, Зеленоград
13 января, 16:39
Несколько счетчиков создавать не обязательно, можно решить задачу с одним. К примеру, при победе "текущего кота" (this) прибавлять единицу, при победе anotherCat вычитать. Самое главное, если коты имеют одинаковые параметры, допустим this.age == anotherCat.age, то прибавлять либо вычитать единицу не нужно.
Тигран7 уровень
8 января, 10:09
Всем мира и процветания !!! Решается задача просто, главное не паниковать. Создаём три переменные, в значения которых заносим возвращаемый результат из метода Integer.compare суммируя значения данных переменных можно понять кто победил : если > 0 то cat1 winner если ==0 то значение по умолчанию ! если < 0 то так же значение по умолчанию.
Теймур Теперин7 уровень, Казань
7 января, 21:28
Так, погодите. Фигня какая-то. Есть вот такие строки в задании:
Если ничья и никто не выиграл, возвращаем либо true либо false, но должно выполняться условие:
если cat1.fight(cat2) возвращает true,
то cat2.fight(cat1) должен возвращать false.
Два дня бился над этим условием и не получалось его реализовать. А именно ту часть про то, что если ничья, то для одного кота true, а для другого false. То есть метод должен себя вести по-разному для разных котов в случае ничьи. Я его выпилил и сдал код на проверку. И прикинье чо. Валидатору пофигу на него! Проверка пройдена. Зачем ваще это условие? Алё. Бесценные часы жизни не вернуть уже.
Дмитрий Романюк6 уровень, Всеволожск
суббота, 09:01
Если ничья и никто не выиграл, возвращаем либо true либо false, но должно выполняться у
Более того, при проверке он требует чтобы при ничьей возвращался ТОЛЬКО false
Mikhail Zubenko6 уровень, Wroclaw
5 января, 20:22
Задача конечно лёгкая...Но знаете, как говорится "работа быстро прошла, но шла, сцуко, так долго мать вашу!Но прошла быстро" Вот и задача, легкая вроде как ....Но пока додумался , я дней 5 потерял
Елена5 уровень, Минск
5 января, 18:40
Как оказалось, задача легкая)) Правда, поняла это после 16й попытки) Не нужно создавать никаких котов и присваивать их переменным значения, для каждой переменой блоки иф-елсе (одной их моих ошибок было поставить елсе везде), счетчики, их сравнение и в зависимости от результата вернуть значение. Мое решение громоздкое очень, но по крайней мере для себя разложила все по строчкам кода)
Andrey Polyntsev12 уровень, Саратов
5 января, 11:20
с 33 попытки!! Написал подробно через 2 счётчика, у меня проканало. Если весКота1>весКота2 Если весКота1<весКота2 Если весКота1==весКота2 и т.д. даже создал переменную boolean, ей прировнял итоги сражения и её вернул..