При любом изменении кошачьих параметров программа всё считает верно - победу, проигрыш, ничью. Но отправляю задачу на проверку - пункт 4 и 7 не выполнены. Что не так-то????? То ли лыжи не едут, то ли я не в порядке...
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 thisCatCount = 0;
if (this.age > anotherCat.age)
{thisCatCount = thisCatCount+10;}
else if(this.age < anotherCat.age)
{thisCatCount = thisCatCount-10;}
else if (this.weight > anotherCat.weight)
{thisCatCount = thisCatCount+10;}
else if(this.weight < anotherCat.weight)
{thisCatCount = thisCatCount-10;}
else if (this.strength > anotherCat.strength)
{thisCatCount = thisCatCount+10;}
else if(this.strength < anotherCat.strength)
{thisCatCount = thisCatCount-10;}
if (thisCatCount > 0)
return true;
else
return false;
}
public static void main(String[] args) {
Cat cat1 = new Cat();
cat1.age = 2;
cat1.weight = 1;
cat1.strength = 2;
Cat cat2 = new Cat();
cat2.age = 2;
cat2.weight = 2;
cat2.strength = 2;
System.out.println(cat1.fight(cat2));
System.out.println(cat2.fight(cat1));
}
}
Cat cat1 = new Cat(); cat1.age = 2; cat1.weight = 1; cat1.strength = 1; Cat cat2 = new Cat(); cat2.age = 1; cat2.weight = 2; cat2.strength = 2;
Очевидно второй, но у тебя это не так. Проверку возраста, веса и силы нужно делать независимо друг от друга. У тебя получается что если кот старше, то дальше уже не важно.if (thisCatCount > 0) return true; else return false;
Можно и нужно делать так:return thisCatCount > 0;