Тео Баслим, полковник в отставке, в юности участвовал в боях, и теперь ему стало скучно. Он узнал, что его соседка Светочка Валерьевна завела полтысячи котов, и решил предложить ей устраивать бескровные кошачьи бои (на кровные она бы не пошла). Дело за малым: нам нужно реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Реализовать метод fight
- 4
Недоступна
Комментарии (669)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Konstantin Kobyakov
14 мая, 11:34
я вообще нихера не понял
0
p90x
25 марта, 13:03
Поясните плиз кто-нибудь, что не так
return (this.age > anotherCat.age ? 1 : 0)+(this.weight > anotherCat.weight ? 1 : 0)+(this.strength > anotherCat.strength ? 1 : 0) > 0;
Ответ : Убедись, что кот выигрывает бой, если он превосходит противника по двум или трем параметрам.
0
Никита
25 марта, 19:48
Все так, просто некорректное ТЗ с ожидаемым результатом не бьется. Проходит вариант через Integer.compare(x,y)
+2
p90x
26 марта, 22:53
я в итоге запихал решение которое от меня ждали( через compare), просто хотелось по своему
0
zh55
2 января, 22:05
Все разобрался, забыл вывод убрать
0
zh55
2 января, 21:59
Подскажите, вроде должно корректно работать, проверку не проходит. Почему?
0
miller09
25 ноября 2022, 09:55
int i=0, j=0;
if ((this.age>anotherCat.age)){
i++;
} else if ((this.age<anotherCat.age)) {
j++;}
if ((this.strength>anotherCat.strength)){
i++;
}else if ((this.strength<anotherCat.age)){
j++;}
if ((this.weight>anotherCat.weight)){
i++;
}else if ((this.strength<anotherCat.age)) {
j++;}
if (i>j){
return true;
} else return false;
ПОЧЕМУ НЕ РАБОТАЕТ??????????????????
0
Marina
12 ноября 2022, 16:56
Неоднозначная задача. Почему надо, чтобы все показатели нашего кота были больше, и только тогда задача решена верно? То есть, если кот более старый и более толстый, он победитель? Я бы решила наоборот. Потеряла на этом попытку.
0
Dinislam AminevExpert
25 апреля, 06:24
Согласен!
0
Pavel Mordovin
31 марта 2022, 10:32
После просмотра правильного решения в голове звучит песня Тото Кутуньо - Лошате ми кампаре))) Lasciatemi campare, con la chitarra in mano. Lasciatemi campare ...Sono un italiano! Buongiorno Italia gli spaghetti al dente
Правда у него было кантаре (cantare) 😁
Че хочу сказать/спросить. Народ, а Вы видели правильное решение этой задачи "Реализовать метод fight"?
там предлагается решить так:
Я удивлён, а что так можно было?))) коротко, элегантно и вроде даже понятно, кроме compare)
Я что-то упустил? Или может кто-то уже изучил представленное правильное решение? Поделитесь тут информацией по правильному решению, плииииз +1
Pavel Mordovin
7 апреля 2022, 06:59
Народ, Integer.compare шо за зверь? Ноги растут от Метода compareTo?
Правильное решение мне нравится, но я его не совсем понимаю, как мне кажется.
В правильном решении видно, что Integer.compare сравнивает параметры котов.
Я почитал про метод compareTo, но ведь он больше подходит для сортировки, чуток запутался.
Если кто найдёт время, киньте дураку ссылок или поясните за compare 🙃
0
Azat Sultanov
7 мая 2022, 20:29
Метод compare прописан в классе Integer и он сравнивает 2 числа, если первое число больше то он возвращает 1, если меньше то -1 и если числа равны то возвращает 0. Потом в переменной score мы суммируем полученные значения и если < 0 то наш первый кот проиграл, если > 0 то соотвественно выиграл
0
Dmitrii
11 октября 2022, 20:27
return Integer.compare(this.age, anotherCat.age)
+ Integer.compare(this.weight, anotherCat.weight)
+ Integer.compare(this.strength, anotherCat.strength) > 0;
+1
Евгений N
28 марта 2022, 10:25
Проверь, что метод fight работает правильно, если у котов два параметра равны, и только один отличается.
пришлось проинициализовать 0, потом проверочный код
и действительно truetruefalse
хорошие тестировщики!! 0
Владимир
12 января 2022, 11:15
создал 2 счётчика, и 3 иф элс; если у первого кота параметр больше, счётчик1++, элс иф у первого кота параметр меньше счётчик2++. И так на каждый параметр, в конце ретурн счётчик1>счётчик2
0
Евгений N
28 марта 2022, 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 марта 2022, 10:31
попробую угадать: ты не все 6 параметров инициализируешь?
false если хотя бы в одной паре 0>0
0
Евгений N
28 марта 2022, 10:34
потому что в лекции про булевы типы писали:
плохой тон: if a>b return true else return false
хороший: return a> b
0