1
0

====================================================================

Конструируем котиков

Создать класс Cat (кот) с пятью конструкторами:

— Имя,

— Имя, вес, возраст

— Имя, возраст (вес стандартный)

— вес, цвет, (имя, адрес и возраст – неизвестные. Кот — бездомный)

— вес, цвет, адрес (чужой домашний кот)

Задача конструктора – сделать объект валидным.

Например, если вес не известен, то нужно указать какой-нибудь средний вес.

Кот не может ничего не весить.

То же касательно возраста. А вот имени может и не быть (null). То же касается адреса: null.

Ну, вот как-то так)

package com.javarush.task.task05.task0517;

/ Конструируем котиков /

public class Cat { //напишите тут ваш код

private String name;
private int age;
private int weight;
private String address;
private String color;

public  Cat(String name){
    this.name=name;
    this.age=1;
    this.weight=3;
    this.address=null;
    this.color=null;

}

public  Cat(String name,int weight,int age){
    this.name=name;
    this.age=age;
    this.weight=weight;
    this.address=null;
    this.color=null;
}

public  Cat(String name,int age){
    this.name=name;
    this.age=age;
    this.weight=3;
    this.address=null;
    this.color=null;

}

public  Cat(int weight,String color){
    this.name=null;
    this.age=1;
    this.weight=weight;
    this.address=null;
    this.color=color;
}

public  Cat(int weight,String color,String address){
    this.name=null;
    this.age=1;
    this.weight=weight;
    this.address=address;
    this.color=color;

}

public static void main(String[] args) {

}

}

задан 11 Фев '17, 15:22

Nick_Nick's gravatar image

Nick_Nick
154
одобрено: 0%

изменено 11 Фев '17, 15:30


В 1 и 3 конструкторе color задайте любой цвет. Хорошо будет, если вы еще будете инициализировать конструкторы по порядку, а не хаотично.

ссылка

опубликован 11 Фев '17, 15:34

DeadTime's gravatar image

DeadTime
956
одобрено: 36%

изменено 11 Фев '17, 15:35

Стандартное значение можно указать при обьявлении переменных в которых стрингам дать значения нуль, а инт в данной ситуации задать какой-то веси и возраст. смысл писать это все в каждом конструкторе?

ссылка

опубликован 11 Фев '17, 15:42

JasonSwon's gravatar image

JasonSwon
7868
одобрено: 32%

Ну, я вообще исходил из условия. Вроде, просили при создании конструктора что-то присваивать. ==Задача конструктора – сделать объект валидным.=== Наерное, типа вначале ничего нет. А я конструктором делаю переменные валидными. Ну, я так понял) Могу и ошибаться- новичок)

(11 Фев '17, 15:48) Nick_Nick

Да, наверное, нет особого смысла - вы правы)

(11 Фев '17, 15:45) Nick_Nick

Оформи правильно тему. Какое задание?

ссылка

опубликован 11 Фев '17, 15:26

JasonSwon's gravatar image

JasonSwon
7868
одобрено: 32%

ну, я согласен с JasonSwon переменные лучше сразу объявлять и не писать в конструкторе. Но, учитывая как здесь засчитываются задания, необходимо писать код как требует условие))) .Было задание увеличить значение на 30% вроде)) я написал return x1,3 и мне не засчитывали. На форуме прочитал, что работает x+x0,3 ))))))Поэтому я не удивляюсь)

(12 Фев '17, 11:11) Nick_Nick

В конструкторе обязательно должны быть заданы все параметры, null обязателен, иначе валидатор не засчитает.

(11 Фев '17, 15:38) DeadTime

В конструкторе нули писать не нужно, поубирай те строчки с нулями. и попробуй запустить. Стандартные значения веса и возраста ты можешь написать сразу при обьявлении переменных, а не в конструкторе. Скажешь что выйдет.

(11 Фев '17, 15:36) JasonSwon

Добавил условие)

ссылка

опубликован 11 Фев '17, 15:31

Nick_Nick's gravatar image

Nick_Nick
154
одобрено: 0%

Спасибо, большое ) присвоил this.color="Red" в 1,2,3 конструкторе и все приняли).хмммммм) Вообще, инициализировал как в условии:

— Имя,====Cat(String name)

— Имя, вес, возраст====Cat(String name,int weight,int age)

— Имя, возраст (вес стандартный)===Cat(String name,int age)

— вес, цвет, (имя, адрес и возраст – неизвестные. Кот — бездомный)===Cat(int weight,String color)

— вес, цвет, адрес (чужой домашний кот)==Cat(int weight,String color,String address)

ну, вот как-то так.Вроде, по порядку))

ссылка

опубликован 11 Фев '17, 15:43

Nick_Nick's gravatar image

Nick_Nick
154
одобрено: 0%

Так же дело в последовательности вызовов конструкторов. У тебя указано: public Cat(String name,int weight,int age){ this.name=name; this.age=age; this.weight=weight; this.address=null; this.color=null;

Ты задаешь name, weight, age, а вызываешь в порядке name, age, weight. Надо поправить последовательность вызовов конструкторов. Ну и добавить данные инициализациии все будет гуд.

ссылка

опубликован 31 Янв, 03:12

%D0%90%D0%B1%D1%80%D0%B0%D0%BC%D0%BE%D0%B2%D0%B8%D1%87's gravatar image

Абрамович
1
одобрено: 0%

Ваш ответ
включить просмотр

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

По Email:

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

Основы Markdown

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

Тэги:

×2

Задан: 11 Фев '17, 15:22

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

Отредактирован: 31 Янв, 03:12

Похожие вопросы