Реализовать метод boolean fight(Cat anotherCat):

реализовать механизм драки котов в зависимости от их веса, возраста и силы.

Зависимость придумать самому.

Метод должен определять, выиграли ли мы (this) бой или нет, т.е. возвращать true, если выиграли и false — если нет.

Должно выполняться условие:

если cat1.fight(cat2) = true,

то cat2.fight(cat1) = false

public class Cat {
private String name;
private int age;
private int weight;
private 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 plusAge = this.age;
        int plusWeight = this.weight;
        int plusStrength = this.strength;
        boolean result1;
        int score = 0;
        if(plusAge>anotherCat.age) score++;
        if(plusStrength>anotherCat.strength)score++;
        if(plusWeight>anotherCat.weight)score++;
        result1 = score>1;
        return result1;
}

public static void main(String[] args) {
    Cat cat1 = new Cat("adsdsa",12,2,4);
    Cat cat2 = new Cat("adsdsa",10,1,2);
    System.out.println(cat2.fight(cat1));
    System.out.println(cat1.fight(cat2));

}

}

задан 20 Мар, 15:16

Buhavtsov's gravatar image

Buhavtsov
32
одобрено: 0%

закрыто 20 Сен, 17:08

AndyRad's gravatar image

AndyRad
13.1k29

Вопрос был закрыт по следующей причине: "Problem is not reproducible or outdated" AndyRad 20 Сен, 17:08


У вас переменная result возвращает значение типа int, а по условию нужно из метода вернуть значение типа boolean, т.е. true или false.

ссылка

опубликован 20 Мар, 16:01

mr_qldu's gravatar image

mr_qldu
494
одобрено: 0%

Изменил, все равно не проходит

public class Cat {
private String name;
private int age;
private int weight;
private 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 plusAge = this.age;
        int plusWeight = this.weight;
        int plusStrength = this.strength;
        boolean result;
        int score = 0;
        if(plusAge>anotherCat.age) score++;
        if(plusStrength>anotherCat.strength)score++;
        if(plusWeight>anotherCat.weight)score++;
        if(score>=1){
            result = true;
        }else{
            result = false;
        }
        return result;
}

public static void main(String[] args) {

    Cat cat2 = new Cat("adsdsa",10,1,2);
    Cat cat1 = new Cat("adsdsa",12,2,4);
  cat2.fight(cat1);
    cat1.fight(cat2);

}

}

ссылка

опубликован 22 Мар, 11:06

Buhavtsov's gravatar image

Buhavtsov
32
одобрено: 0%

изменено 22 Мар, 11:08

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×3,808

Задан: 20 Мар, 15:16

Просмотров: 118 раз

Отредактирован: 20 Сен, 17:08