Что ж я не совсем понимаю почему мой метод работает не так как по заданию, хотя как мне кажется я его сделал верно, а так же я не совсем понимаю что значит фраза нЕсли ничья и никто не выиграл, возвращаем либо true либо false, но должно выполняться условие:
если cat1.fight(cat2) возвращает true,
то cat2.fight(cat1) должен возвращать false
Не совсем улавливаю ее реализацию на логическом уровне. Любые подсказки приветствуются, но лучше всего было бы если бы вы пояснили свою позицию и помогли мне понять как справляться с похожими задачами в будущем.
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 k1 = 0, k2 = 0;
if (this.age > anotherCat.age)
k1++;
else
k2++;
if (this.strength > anotherCat.strength)
k1++;
else
k2++;
if (this.weight > anotherCat.weight)
k1++;
else
k2++;
if (k1 > k2)
return true;
else if (k1 < k2)
return false;
else
return true;
}
public static void main(String[] args) {
}
}
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 k1 = 0, k2 = 0;
if (this.age > anotherCat.age)
k1++;
else
k2++;
if (this.strength > anotherCat.strength)
k1++;
else
k2++;
if (this.weight > anotherCat.weight)
k1++;
else
k2++;
if (k1 > k2)
return true;
else if (k1 < k2)
return false;
else
return true;
}
public static void main(String[] args) {
}
}