public boolean fight(Cat anotherCat) {
int sil1 = 0;
int sil2 = 0;
boolean win = true;
if (age>anotherCat.age){
sil1 = sil1+1;
}
else {
sil2 = sil2+1;
}
if (weight>anotherCat.weight){
sil1 = sil1+1;
}
else {
sil2 = sil2+1;
}
if (strength>anotherCat.strength){
sil1 = sil1+1;
}
else {
sil2 = sil2+1;
}
if (sil2>sil1){
win = false;
}
return win;
}
Кто подскажет, почему не проходит валидацию. В IJ все корректно отрабатывает. На что обратить внимания? пришлось решать через сравнение compare.
Евгений Ашуркевич
8 уровень
не проходит валидацию, если решать через if
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
10 апреля 2020, 08:21полезный
Если показатели равны, ты начисляешь дополнительный балл второму коту. Это неправильно, т.к. при таком подходе кот 5-5-5 проиграет коту 5-5-0, т.к. второй кот получит 2 балла за две первых ничьих и победит со счетом 1-2.
У всех одна и та же ошибка, этот вопрос задают практически каждый день, часто по нескольку раз.
У compare три возможных результата, 1, если первый аргумент больше, -1, если первый меньше и 0, если аргументы равны. В этом и разница.
Если бы ты тут в else написал второй if, исключающий ничью, то решение бы прошло.
+2