Кошкоинициация

  • 3
  • Недоступна
Эта задача посвящена существам загадочным и прекрасным — котам. Создадим класс Cat и определим для него пять инициализаторов (только имя, то же плюс вес и возраст, только вес и цвет, имя и возраст, вес, цвет, адрес). Коты нам нужны валидные: они не могут существовать без веса, цвета или возраста. А вот безымянные коты, увы, встречаются, как и бездомные.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (98)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Vadym Yaryna5 уровень
позавчера, 21:18
13 попыток)) методом "да-да не-не" пытался понять как работает... есть что почитать по этому поводу?? Спасибо!)
Alexander Klimin5 уровень, Москва
18 апреля, 14:23
у меня валидацию проходит только 1 конструктор принимающий в качестве параметров имя и возраст. При этом непонятно, как он инициализирует все переменные кроме адреса, когда он выглядит вот так public void initialize(String name, int age) { this.name = name; this.age = age; остальные, идентичные по конструкции инициализаторы валидацию не проходят. кароче непонятно(
Sherlock04047 уровень, Москва
18 апреля, 17:31
Все проще чем кажется, сделать переменные класса валидными значит присвоить им в любом случае какое то значение. У вас в конструкторе только 2 переменные из 5. Нужно добить остальным переменным значения. Например если цвет не известен (ну то есть вы эту переменную не передаете в скобочки) то в любом случае писать эту переменную в конструкторе надо color = "black"; если возраста нет пишем например age = 2; address = null; НО Аргументы в конструктор должны быть переданы в том же порядке, который есть в классе. То есть я так поняла методу можно в любом порядке передавать аргументы, а вот инициализировать в конструкторе нужно в той же последовательности которая есть в классе. Надеюсь помогла и не запутала еще больше)
Alexander Klimin5 уровень, Москва
18 апреля, 17:59
СПАСИБО!!!!!!!!!
Wl.6 уровень
2 апреля, 20:18
Что то чем дальше, тем страшнее. Народ, может мне кто-нибудь объяснить - зачем одну и ту же переменную инициализировать в нескольких методах подряд? Какое конечное значение будет у переменной? Возможно ли в методе initialize() присвоить какое-то конкретное значение(например age = 5;) и как вывезти его в консоль?
АртемGeek14 уровень, Москва
4 апреля, 07:46
Привет! Все достаточно не сложно. Мы инициализируем одну и ту же переменную, но для разных котов. То есть на основе типа Cat, мы можем создать разных котов с разными параметрами(благодаря конструктору например:
public void initialize (String name,int weight, int age) {
        this.name = name;
        this.weight = weight;
        this.age = age;
Он создает кота «Мурку» с именем, весом и возрастом, а констурктор
public void initialize (int weight,String color){
        this.weight = weight;
        this.color = color;
Создает кошку «Клепу» с весом и цветом. То есть у типа Cat есть свои параметры(переменные), и на основе этих параметров мы создаем разных котов, с изначально разными данными, которые мы знаем о них.
Wl.6 уровень
4 апреля, 20:56
Привет Артём, Большое тебе спасибо за помощь!
Romy7 уровень, Киев
29 марта, 15:03
Я решил это никуда не подглядывая. До следующей задачи я буду чувствовать себя очень умным, ведь получается что кое-что я даже понял. Только вот зачем оно обламывает метод, в котором String, int, String вместо требуемого int, String, String. Валидатору лень проверять варианты или это действительно важно для результата?
Игорь8 уровень
23 марта, 08:43
Сразу переменным значения присваивайте, кроме имя и адреса , и будет вам счастье!!!!
Alexey Hehnev8 уровень, Санкт-Петербург
22 марта, 08:10
Решил с перво раза)) прошу прощение за скромность)) 1. Сначала читайте "ТРЕБОВАНИЯ" задачи 2. Пишите код четка как сказано в "ТРЕБОВАНИИ" (создаем 5 штук переменных) в правильной последовательности. 3. Создайте метод initialize(строковый параметр name) { и инициализирующий (обращающийся (this.переменная = переменная)) ко всем переменным класса, кроме адреса } 4. Сделайте такое повторение еще 4 раза (НО СОГЛАСНО УСЛОВИЯМ) 5. После, в каждом методе (ВСЕГО ИХ 5) к инициализирующим (обращающийся (this.переменная = переменная)) переменным класса КОТОРЫЕ НЕ ЯВЛЯЮТСЯ АРГУМЕНТОМ МЕТОДА присвоить значение.
AleksandrT9 уровень, Москва
21 марта, 12:32
Задача не сложная, но надо делать очень внимательно (у меня похоже с этим проблемы) Вот один из методов, остальные делаются по аналогии
public void initialize(int weight, String color, String address) {
    this.address = address;
    this.name = null;
    this.age = 7;
    this.weight = weight;
    this.color = color;
}
Artem Yaremchuk10 уровень, Омск
29 марта, 13:28
this.name = null;
можно не писать вроде, null по умолчанию присваивается
gannochka7 уровень, Минск
14 марта, 18:33
7 попыток и как кажется, даже что-то поняла))))))))
Димооон528 уровень, Нижний Новгород
14 марта, 17:13
с сотой попытки решил! спасибо @timaxoff - важна очередность переменных (чтобы соответствовала заданию)
Alexey Dubinin6 уровень, Kernu
12 марта, 19:14
Народ, это конечно дичь)) это тема меня просто убила. потратив час, все что я понял: в классе создаете все переменные которые вам данны в задаче и присваиваете им любые значения. а потом когда вы будете создавать эти гребанные initialize, в скобочках пишете те переменные которые идут по условию, якобы они будут вводиться потом вручную. Все!! Все!!!! все что нужно было чтоб потратить свой час жизни в этот бред))) спасибо