• ,

level05.lesson05.task02 Помогите пожалуйста

Реализовать метод fight
Реализовать метод boolean fight(Cat anotherCat):
реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Зависимость придумать самому. Метод должен определять, выиграли ли мы (this) бой или нет,
т.е. возвращать true, если выиграли и false — если нет.
Должно выполняться условие:
если cat1.fight(cat2) = true, то cat2.fight(cat1) = false

У меня несколько вопросов (заранее спасибо добрые люди :) :

1) программа сработала нормально вивела «true», но проверку не прошла.
2) параметр (Cat anotherCat) ето такое правило написание параметра для взаимодействия обєктов?
3) почему когда пишем нужно писать ссилку на параметри обєкта Cat с помощью this.*
Код ниже
public class Cat
{
public String name;
public int age;
public int weight;
public int strength;
public static void main (String[] args) {
Cat cat1 = new Cat(10, 20, 30);
Cat cat2 = new Cat(5, 10, 15);
System.out.print (cat1.fight(cat2));
}

public Cat(int a, int w, int s)
{
this.age = a;
this.weight = w;
this.strength = s;
}

public boolean fight (Cat anotherCat)
{
//Напишите тут ваш код
int skillCat1 = this.age+this.weight+this.strength;
int skillCat2 = anotherCat.age+anotherCat.weight+anotherCat.strength;
if (skillCat1 > skillCat2) {
return true;
}
else {
return false;
}
}
}
  • ,

level05.lesson05.task02 Помогите пожалуйста :(

Реализовать метод fight
Реализовать метод boolean fight(Cat anotherCat):
реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Зависимость придумать самому. Метод должен определять, выиграли ли мы (this) бой или нет,
т.е. возвращать true, если выиграли и false — если нет.
Должно выполняться условие:
если cat1.fight(cat2) = true, то cat2.fight(cat1) = false

У меня несколько вопросов (заранее спасибо добрые люди :) :

1) программа сработала нормально вивела «true», но проверку не прошла.
2) параметр (Cat anotherCat) ето такое правило написание параметра для взаимодействия обєктов?
3) почему когда пишем нужно писать ссилку на параметри обєкта Cat с помощью this.*
Код ниже
public class Cat
{
public String name;
public int age;
public int weight;
public int strength;
public static void main (String[] args) {
Cat cat1 = new Cat(10, 20, 30);
Cat cat2 = new Cat(5, 10, 15);
System.out.print (cat1.fight(cat2));
}

public Cat(int a, int w, int s)
{
this.age = a;
this.weight = w;
this.strength = s;
}

public boolean fight (Cat anotherCat)
{
//Напишите тут ваш код
int skillCat1 = this.age+this.weight+this.strength;
int skillCat2 = anotherCat.age+anotherCat.weight+anotherCat.strength;
if (skillCat1 > skillCat2) {
return true;
}
else {
return false;
}
}
}
  • ,

level05.lesson05.task02

Причесываю код этого задания, проштудировал Шилдта, stackoverflow и прочие форумы посмотрел по Java.
Специально вынес код в Eclipse. Эта IDE за шаг вправо — шаг влево сразу «к стенке» ставит.
Компилируется.
Выполняется.
Ни фига не выдает в консоли )))
Очень хочу досконально разобраться, в чем проблема.

package javarush;

public class Cat {
	public String name;
	public int age; 
	public int weight; 
	public int strength;
	public double force;
	
	public Cat(int x, int y, int z){
		age = x;
		weight = y;
		strength = z;
		force = (age*0.2)+(weight*0.4)+(strength*0.4);
	}
	
	public boolean fight (Cat cat){
		return (this.force > force);
	}

}

public class CatFight {

	public static void main(String[] args) {
		
		Cat cat1 = new Cat(5, 6, 10);
		Cat cat2 = new Cat(4, 8, 8);
		
		if (cat1.fight(cat2))
			System.out.println("Кот 1 победил");
		if (cat2.fight(cat1))
			System.out.println("Кот 2 победил");
		if (cat1.force == cat2.force)
			System.out.println("Силы котов равны");

	}

}
  • ,

level05.lesson05.task02

Ребята, помогите мне, пожалуйста.

Перечитал все топики по этой задаче.

Мой код не проходит проверку.

public class Cat
{
    public String name;
    public int age;
    public int weight;
    public 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)
    {
        if (this.strength > anotherCat.strength){
            return true;
        }else {
            return false;
        }//Напишите тут ваш код
    }

    public static void main (String[]args)
    {
        Cat cat1 = new Cat("Barsik",3,5,10);
        Cat cat2 = new Cat("Vaska",4,4,9);

        System.out.println(cat1.fight(cat2));
        System.out.println(cat2.fight(cat1));
    }
}


Результат выдает верный, программа в IntelliJ IDEA компилируется, метод реализован.

В чем загвоздка?
  • ,

level05.lesson05.task02

Не проходит тестирование. в чем проблема??

/* Реализовать метод fight
Реализовать метод 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()
{
Cat cat = new Cat();
cat.name = «Barsik»;
Cat cat2 = new Cat();
cat2.name = «Kuzya»;
cat.age = 1;
cat.strength = 10;
cat2.age=3;
cat2.strength = 20;

cat.fight(cat2);
}

public boolean fight (Cat anotherCat)
{
//Напишите тут ваш код
if (this.strength > anotherCat.strength) return true;
else return false;

}
}

level05.lesson05.task02

Помогите разобраться, как решить эту задачу и главное как сделать «Должно выполняться условие:
если cat1.fight(cat2) = true, то cat2.fight(cat1) = false» как вообще действует эта часть cat1.fight(cat2).

вот код того, что есть:

package com.javarush.test.level05.lesson05.task02;

/* Реализовать метод fight
Реализовать метод boolean fight(Cat anotherCat):
реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Зависимость придумать самому. Метод должен определять, выиграли ли мы (this) бой или нет,
т.е. возвращать true, если выиграли и false — если нет.
Должно выполняться условие:
если cat1.fight(cat2) = true, то cat2.fight(cat1) = false
*/

public class Cat
{

public static void main(String[] args)
{

}

public String name;
public int age;
public int weight;
public int strength;

public Cat(String nam, int a, int b, int c)
{
name = nam;
age = a;
weight = b;
strength = c;

}

public boolean fight (Cat anotherCat)
{
Cat cat = new Cat («Tom», 7,10,10);
Cat cat2 = new Cat («Kom», 5,11, 9);

if ((cat.age + cat.weight +cat.strength)>(cat2.age + cat2.weight + cat2.strength))
return true;
else
return false;

}
}

level05.lesson05.task02 Скажите, что не так пожалуйста. Помогите с решением.

package com.javarush.test.level05.lesson05.task02;

/* Реализовать метод fight
Реализовать метод 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(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)
{
Cat cat1=new Cat(«murzik», 1, 3, 2);
Cat cat2=new Cat(«barsik», 1, 3, 2);
if(cat1.age>cat2.age)
{
if(cat1.weight>cat2.weight || cat1.strength>cat2.strength)
{
cat1.fight(cat2);
return true;
}
else
{
cat2.fight(cat1);
return false;
}

}
else
{
if(cat1.weight>cat2.weight && cat1.strength>cat2.strength)
{
cat1.fight(cat2);
return true;
}
else
{
cat2.fight(cat1);
return false;
}
}
}
}