Тео Баслим, полковник в отставке, в юности участвовал в боях, и теперь ему стало скучно. Он узнал, что его соседка Светочка Валерьевна завела полтысячи котов, и решил предложить ей устраивать бескровные кошачьи бои (на кровные она бы не пошла). Дело за малым: нам нужно реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Реализовать метод fight
- 4
Недоступна
Комментарии (659)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pavel Mordovin
31 марта, 10:32
После просмотра правильного решения в голове звучит песня Тото Кутуньо - Лошате ми кампаре))) Lasciatemi campare, con la chitarra in mano. Lasciatemi campare ...Sono un italiano! Buongiorno Italia gli spaghetti al dente
Правда у него было кантаре (cantare) 😁
Че хочу сказать/спросить. Народ, а Вы видели правильное решение этой задачи "Реализовать метод fight"?
там предлагается решить так:
Я удивлён, а что так можно было?))) коротко, элегантно и вроде даже понятно, кроме compare)
Я что-то упустил? Или может кто-то уже изучил представленное правильное решение? Поделитесь тут информацией по правильному решению, плииииз 0
Pavel Mordovin
7 апреля, 06:59
Народ, Integer.compare шо за зверь? Ноги растут от Метода compareTo?
Правильное решение мне нравится, но я его не совсем понимаю, как мне кажется.
В правильном решении видно, что Integer.compare сравнивает параметры котов.
Я почитал про метод compareTo, но ведь он больше подходит для сортировки, чуток запутался.
Если кто найдёт время, киньте дураку ссылок или поясните за compare 🙃
0
Azat Sultanov
7 мая, 20:29
Метод compare прописан в классе Integer и он сравнивает 2 числа, если первое число больше то он возвращает 1, если меньше то -1 и если числа равны то возвращает 0. Потом в переменной score мы суммируем полученные значения и если < 0 то наш первый кот проиграл, если > 0 то соотвественно выиграл
0
Евгений N
28 марта, 10:25
Проверь, что метод fight работает правильно, если у котов два параметра равны, и только один отличается.
пришлось проинициализовать 0, потом проверочный код
и действительно truetruefalse
хорошие тестировщики!! 0
Владимир
12 января, 11:15
создал 2 счётчика, и 3 иф элс; если у первого кота параметр больше, счётчик1++, элс иф у первого кота параметр меньше счётчик2++. И так на каждый параметр, в конце ретурн счётчик1>счётчик2
0
Евгений N
28 марта, 10:42
однако у тебя 6 штук if ! но зато решение простое и понятное.
я запихал всё в один return в котором по 6 раз &&, >, == и 5 раз ||
0
Дмитрий
28 декабря 2021, 09:21
public boolean fight(Cat anotherCat) {
if ((this.age > anotherCat.age) && (this.strength > anotherCat.strength) && (this.weight > anotherCat.weight))
return true;
подскажите, почему условие всегда false (так IDE ругается)?
0
Евгений N
28 марта, 10:31
попробую угадать: ты не все 6 параметров инициализируешь?
false если хотя бы в одной паре 0>0
0
Евгений N
28 марта, 10:34
потому что в лекции про булевы типы писали:
плохой тон: if a>b return true else return false
хороший: return a> b
0
Сергей Калюжный
12 октября 2021, 14:05
Отличная задача. Решение со счетчиком соответствует уровню лекции. Пока выдумывать велосипед не стоит.
0
Кирилл
29 сентября 2021, 18:32
if (((this.age + this.weight + this.strength))>((anotherCat.age + anotherCat.weight + anotherCat.strength)))
return (true);
else
return (false);
подскажите пожалуйста, что не так?
В методе fight реализовать механизм драки котов в зависимости от их веса, возраста и силы согласно условию. Это условие не проходит
0
Viktor
15 октября 2021, 15:48
в условиях победитель определяется по лучшим показателям большего количества критериев, а не большей сумме показателей (например 1 кот - 5, 1, 1; 2 кот - 1, 2, 2. по условию задачи должен победить второй, по вашему решению - победит первый)
+2
Сергей
29 сентября 2021, 17:10
30 минут мучений и 7 попыток из-за неточного задания.
Для правильного решения все показатели this.кота должны быть больше 2-го.
И if вам в помощь.
+3
Anna Makarova
24 декабря 2021, 18:45
Спасибо! Я-то думала, что старый жирный кот проиграет молодому)))
+1
Александр
6 сентября 2021, 15:47
Всем привет!
Кто может объяснить почему нет запятой в перечислении параметров -"public boolean fight(Cat anotherCat)"?
Или подскажите, где почитать....)
0
Михаил Кладовщик 80lvl
13 сентября 2021, 20:45
Передается один аргумент
Cat(это тип переменной) anotherCat(это сама переменная)
+1
Mark T
24 августа 2021, 13:50
короче мне надоело. я 2 часа трачу на задачу, решение которой я в принципе не могу знать. в итоге получаю готовое решение, а там Integer.compare. круто
+3
Валентин
25 августа 2021, 05:20
Задача решается без Integer.compare
просто через if и счетчики
0
Анастасия
31 июля 2021, 11:28
Нужно ставить более точные критерии.
В моем понимание, чем старше кот, тем он слабее, значит, проигрывает более молодому в этом показателе.
+2