package com.javarush.task.task05.task0502;
/*
Реализовать метод fight
*/
public class Cat {
public int age;
public int weight;
public int strength;
public Cat() {
}
public boolean fight(Cat anotherCat) {
//напишите тут ваш код
int a = 0;
int b = 0;
if(this.age > anotherCat.age)
a++;
if(this.weight > anotherCat.weight)
a++;
if(this.strength > anotherCat.strength)
a++;
if(this.age < anotherCat.age)
b++;
if(this.weight < anotherCat.weight)
b++;
if(this.strength < anotherCat.strength)
b++;
if(a > b)
return true;
if(a == b)
return false;
if(a < b)
return false;
}
public static void main(String[] args) {
Cat cat1 = new Cat();
Cat cat2 = new Cat();
cat1.age = 1;
cat1.weight = 2;
cat1.strength = 3;
cat2.age = 1;
cat2.weight = 5;
cat2.strength = 3;
cat1.fight(cat2);
cat2.fight(cat1);
}
}
Vladimir Manatkin
20 уровень
Не могу понять где ошибка?
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
3 ноября 2019, 19:22решение
Компилятор такое не пропустит - у тебя все return находятся внутри if.
То есть методу будет что вернуть, только если хоть одно из условий выполнится.
Компилятор не обязан знать, что одно из них точно выполнится. Компилятор хочет быть уверен, что независимо от условий ему будет что вернуть. То есть нужен return либо вне if, либо в else.
+5
Vladimir Manatkin
3 ноября 2019, 19:30
Спасибо, буду знать
0