why it is incorrect?
package com.codegym.task.task05.task0505;
/*
Feline carnage
*/
public class Solution {
public static void main(String[] args) {
Cat michi1 = new Cat("marco",5,10,30);
Cat michi2 = new Cat("Mercedes",3,8,40);
Cat michi3 = new Cat("Gladys",9,7,30);
if (michi1.fight(michi2) == true){
System.out.println("Michi1 gana la batalla contra Michi2");
} else if (michi1.fight(michi2) == false){
System.out.println("Michi2 Gana la batalla contra Michi1");
}
if (michi2.fight(michi3) == true){
System.out.println("Michi2 gana la batalla contra Michi3");
} else if (michi2.fight(michi3) == false){
System.out.println("Michi3 gana la batalla contra michi2");
}
if (michi3.fight(michi1) == true){
System.out.println("Michi3 gana la batalla contra Michi1");
} else if (michi3.fight(michi1) == false){
System.out.println("Michi1 gana la batalla contra michi3");
}
}
public static class Cat {
protected String name;
protected int age;
protected int weight;
protected int strength;
public Cat(String name, int age, int weight, int strength) {
this.name = name;
this.age = age;
this.weight = weight;
this.strength = strength;
}
public boolean fight(Cat anotherCat) {
int ageAdvantage = this.age > anotherCat.age ? 1 : 0;
int weightAdvantage = this.weight > anotherCat.weight ? 1 : 0;
int strengthAdvantage = this.strength > anotherCat.strength ? 1 : 0;
int score = ageAdvantage + weightAdvantage + strengthAdvantage;
return score > 2; // return score > 2 ? true : false;
}
}
}