Блин, прикол конечно. Это четвертая лекция, а тут уже надо понимать, что такое конструктор. Хотя конструкторы даются только в восьмой лекции. И это в задаче с пометкой "легкая". Конечно во вступлении к 5у уровню даются пояснения, которые раскрывают суть происходящего. Но вот далеко не все знакомы с подобным подходом, поэтому у некоторых он вызывает недоумение.
Я раньше тоже удивлялся, но помог изученный в перерыве между подходами к этому ресурсу курс на степике "как учиться эффективно". Там раскрывалась одна из парадигм обучения, которой, видимо, руководствовались авторы данного курса. Кратко суть такая:
Шаг 1 - дать практику, чтобы обучающиеся могли "пощупать" тему, заинтересоваться. Понять, что им не хватает знаний, т.к. часть заданий без подготовки решить не получится.
Шаг 2 - дать теоретические знания, в т.ч. с учетом пробелов, которые обучающиеся у себя выявили в ходе шага 1. Это должно простимулировать обучающихся лучше усвоить материал.
Шаг 3 - Дать задание на закрепление пройденного материала.
Соответственно вывод опять же простой - если не можете что то решить основываясь на данных в этом курсе до этого момента знаниях - у вас есть несколько вариантов. 1. Гуглите. 2. Читайте доп. литературу. 3. "Покрутите" задачу и оставьте ее "на потом". Теорию дадут через несколько тем, можно будет вернуться и решить ее.
Отчаиваться и бросать обучение с формулировкой "ничерта не понятно!" - ни в коем случае не следует.
Вернулся к нерешённым задачам с 22 уровня сюда. НО - ничего не понятно. Реально. Перед этой задачей следовало бы дать больше теории и задач на элемунты решения этойзадачи. В конейц добило как return score > 0; преобразуется в булеву функцию???? Булево выражение может принять только True/False, а 1 и 0 в Джаве не могут приравниываться к True/False,... Или я не правильно понимаю?
public boolean fight(Cat anotherCat){
int ageScore = Integer.compare(this.age, anotherCat.age);
int weightScore = Integer.compare(this.weight, anotherCat.weight);
int strengthScore = Integer.compare(this.strength, anotherCat.strength);
int score = ageScore + weightScore + strengthScore;
return score > 0;
Бред. Если брать решение как в ответе, то
false
false
false
Если поменять на
System.out.println(cat2.fight(cat1));
System.out.println(cat3.fight(cat2));
System.out.println(cat1.fight(cat3));
То
false
true
false
Если поменять на
System.out.println(cat2.fight(cat1));
System.out.println(cat3.fight(cat2));
System.out.println(cat3.fight(cat1));
То
false
true
true
Это как?
Причём первый кот максимально прокачан и сильный - в первом случае он побеждает, а во втором нет.
Причём валидатор пропустил...
Получается, тот кот, что в первом аргументе всегда побеждает:
Но это неверно! Нужно же сравнивать по навыкам котов! Почему валидатор такой код пропустил?????
И как сделать так, чтобы побеждал тот, кто по силе круче, а не тот, кто идёт первым аргументом???
Че за хрень, написал решение, валидацию не проходит, хотя все правильно. Посмотрел правильное решение - все так же только имена другие. Надо было блять передвинуть метод мейн с конца в самое начало...... что за тупое условие, о котором не было сказано!!!!!
Что-то я туплю. Подскажите почему так.
В методе fight указываем две переменные - fight (Cat anotherCat)
А когда вызываем метод, то пишем - cat1.fight(cat2)
Запись fight (cat1 cat2) не проходит
подскажите как это работает? Как внутри класса можно создавать экземпляр класса? Мне кажется, что экземпляр класса можно создавать в новом классе, а не в том же.
Этот веб-сайт использует данные cookie, чтобы настроить персонально под вас работу сервиса. Используя веб-сайт, вы даете согласие на применение данных cookie. Больше подробностей — в нашем Пользовательском соглашении.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ