Вот такой можно сказать рандомный код прошел валидацию. Но у меня ощущение, что он не работает по назначению, так как System.out.println(cat1.fight(cat2)); выводит true, даже если установить значения age и weight для cat1 на 1.
Да и вообще я не понимаю как это дело подтягивается в Cat и another Cat, и что вообще происходит.
Разложите пожалуйста по полочкам, кому не лень.
P.S. И да, как я понял строка public Cat() {} предназначена для установки значений по умолчанию для новосозданных котов ?
/*
Реализовать метод boolean fight(Cat anotherCat):
реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Зависимость придумать самому.
Метод должен определять, выиграли ли мы (this) бой или нет, т.е. возвращать true,
если выиграли и false - если нет.
Должно выполняться условие:
если cat1.fight(cat2) = true,
то cat2.fight(cat1) = false
*/
public class Cat {
public String name;
public int age;
public int weight;
public int strength;
public Cat() {
}
public boolean fight(Cat anotherCat) {
//напишите тут ваш код
strength = age * weight;
if (this.strength>anotherCat.strength) {
return true;}
else {
return false;
}
}
public static void main (String[]args){
Cat cat1 = new Cat();
cat1.name = "Vaska";
cat1.age = 6;
cat1.weight = 4;
Cat cat2 = new Cat();
cat2.name = "Ivan";
cat2.age = 3;
cat2.weight = 5;
cat1.fight(cat2);
System.out.println(cat1.fight(cat2));
}
}