Попробуем создать программу для семейной переписи. Для этого пишем класс Human с полями имя(String), пол(boolean), возраст(int), дети (ArrayList Human). Для тренировки создайте объекты и заполните их данные так, чтобы получилось два дедушки, две бабушки, отец, мать, трое детей. Выведите объекты на экран.
Собираем семейство
- 10
- Недоступна
Комментарии (573)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Евдокимов Дмитрий Александрович 10 уровень
17 января, 11:29
Ребята, объясните пожалуйста этот момент. Вот в классе "Human" содержится у нас метод "toString()", возвращающий строку, применяя поля объекта класса "Human"...
Почему если этот метод содержится в классе, то он автоматически выполняется при создании объекта? почему не требуется дополнительно этот метод вызывать, прежде чем вывести объекты на экран?
Любой метод, прописанный в классе - выполняется автоматически для данных каждого вновь созданного объекта?
Спасибо!
+1
Даниил 8 уровень, Минск
вчера, 15:40
Посмотри вот эту лекцию https://www.youtube.com/watch?v=KEQ043yT3F4&list=PLAma_mKffTOSUkXp26rgdnC0PicnmnDak&index=25
+1
Евдокимов Дмитрий Александрович 10 уровень
около 9 часов назад
Спасибо большое!
0
baddan 14 уровень, Тамбов
5 января, 12:37
Задача хоть и простая, но в тоже время запутана изза связей и "избыточного/понятного" ТЗ.
1 мама + 1 папа = 3 детей
дед1+баба1 = ребенок Мама
дед2+баба2 = ребенок Папа
т.к все категории делал в списках Мама и Папа получились в одном списке который скормил всем четырем дедам. что не верно. разделил потом семью на отдельный список мама и отдельно список папа и заработало.
1. создал список из 3 детей
2. создал список мама
3. создал список папа
4. создал список д1,д2,б1,б2
на экран все списки через for
в toString надо скоректировать иницилизацию переменной при Объекте null
0
Andrew Backend Developer в as
29 декабря 2020, 21:22
Даа ... что тут скажешь, то ли я тупой то ли лыжи не едут, смотрю в условие и понять не могу чего не хватает, а оказалось то йо майо , всего на всего то именно перечислить и вывести ВСЕ созданные объекты, а не только те что были добавлены в сам список объекта под видом "детей", ну Семен Семеныч
0
Сергей Жак Java Developer
19 декабря 2020, 23:52
Метод toString() следует подправить, т.к. иначе он кидается NPE на детей с неинициализированным списком собственных детей, или инициализировать их детей пустым списком. Я не помню, чтобы мы проходили уже NPE, так что держите.
+2
Dmitry B 12 уровень
30 декабря 2020, 18:22
Спасибо тебе, добрый человек! Сразу, как только исправил этот момент, прошёл проверку. И не пришлось инициализировать с пустым, лишний код писать.
0
Илья Работает в Diler.ru
12 декабря 2020, 14:03
какой валидатор правильный!)))))
у 2х родителей может быть только одинаковое кол-во детей
0
Алексей 22 уровень, Зима
6 декабря 2020, 05:43
Решил без создания конструктора. Понимаю, что можно было решить элегантней, но зато сам и без подсматривания в обсуждение )))
0
miron29 13 уровень
6 декабря 2020, 11:16
С конструктором не проходит валидацию, так как условие - в классе не должно быть больше двух методов. toString это метод и конструктор тоже метод
+1
Andrew Backend Developer в as
27 декабря 2020, 20:28
интересно как же вы завели объект без конструктора, вот по истине интересно...
0
Алексей 22 уровень, Зима
29 декабря 2020, 01:36
Не создавал дополнительных конструкторов. Конструктор по умолчанию есть.
0
Антон Копанев Software Developer
7 января, 20:12
У меня с конструктором валидацию прошло.
Видимо конструктор считают не за обычный метод.
0
Умалат работаю в totamtosyam
30 ноября 2020, 17:35
Поля класса
Объясните как работает этот конструктор?
+3
koshi 9 уровень, Уфа
24 декабря 2020, 07:01
Varargs
Аргументы переменной длины. Мы говорим, что может передаваться сколько-то
объектов типа
и все они будут объединены в массив
Затем, с помощью
засовываем всех
в
+5
Николай Стецюк 13 уровень
30 ноября 2020, 10:38
А есть возможность через конструктор добавлять обьекты в список ?
grandfather.children.add(father), ибо практикуется поля делать private для безопасности ?
Например
Human grandfather = new Human("Петро", true,75, father, mother, brother); где father, mother, brother - обьекты которые нужно добавтить в ArrayList.
0
Toxa 10 уровень, Санкт-Петербург
27 ноября 2020, 20:25
В условиях забыли указать что нужно создавать конструкторы класса.
А в лекции по Collections забыли указать методы, которые будут использоваться в дальнейших задачах. Не знаю,может кому-то гугление и помогает, но по-моему в голове только каша образуется и весь результат,особенно учитывая что решать задачи можно по-разному. А вот зачем за нас переопределяют метод toString() загадка. Если конечно все идут читают Java API в оригинале без проблем и всё понимают, тогда об этом в начале курса требовалось написать.
0
Евгений 10 уровень, Екатеринбург
25 ноября 2020, 10:13
ААААаааа.....!!! Да что за задача!!! Единственная задача, которую никак не могу понять. За место всех мыслей у меня в голове как будто только обезьяна, которая хлопает тарелками 🤦♂️
+5
SunCat модератор (волонтер) в Mojira (Mojang JIRA)
26 ноября 2020, 17:17
используй конструкторы =)
можно сделать через 2 или 3 конструктора, в зависимости от метода
+1