Множество всех животных

  • 5
  • Недоступна
Занесем животных в множества. Сначала создадим классы Cat и Dog, затем — методы createCats и createDogs (возвращают множества с собаками и кошками), метод join, возвращающий конгломерат из множеств собак и кошек. На случай недобрососедства — метод removeCats, удаляющий из pets котов. И ещё — метод printPets, пусть выводит на экран всех обитателей pets.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (75)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Владимир Павленко14 уровень, Москва
четверг, 18:04
Объеденить join.addAll(cats); join.addAll(dogs); задушитьудалить котов pets.removeAll(cats);
Денис8 уровень, Екатеринбург
10 февраля, 14:45
Вот и новый личный антирекорд подъехал(:
Oleg Zubkov9 уровень, Москва
3 февраля, 18:19
Ребят, то ли я туплю, то ли какая-то фигня: Почему метод void removeCats возвращает модифицированный pets? Ведь void по идеи ничего не должен возвращать? Пробовал добавлять переделывать из void в метод с возвратом и получается тоже самое, что с ним, почему так ?
Tanarri9 уровень
среда, 11:16
removeCats(pets, cats); ты передаешь ссылки на множество pets и cats. Любые изменения, сделанные с pets или cats внутри метода будут произведены непосредственно с этими множествами. Но сам метод не возвращает ничего. Если ты хочешь, чтоб pets и cats остались неизменными - не изменяй их, либо делай копии в методе и возвращай эти копии.
Aku16 уровень, Новосибирск
11 января, 18:45
Блин, вот вроде делаю всё сам, без подсказок(с 1-2 попыток), и вроде всё понимаю, но ниче не понимаю. Чувство опустошенности
Александр Ковалев12 уровень, Москва
20 января, 23:06
во-во... решаю с 1 раза... но нифига не дошел до сетов и мапов... именно, что чувство опустошенности... и именно к этому заданию... пойду еще накачу на 2 пальца
Aku16 уровень, Новосибирск
21 января, 08:13
Считаю это лишним, по себе сужу - алкоголь мешает сосредоточиться на задачах
Александр Ковалев12 уровень, Москва
22 января, 07:24
батенька, кто Вас сказал, что накатывать надо для решения? только после!!! :))
Aku16 уровень, Новосибирск
23 января, 10:57
Тут 1200 задач, выпивать после каждой - печени не хватит)))
Александр Ковалев12 уровень, Москва
27 января, 19:39
:)))) слава богу, не после каждой
Константин17 уровень
5 декабря 2018, 18:49
Я в шоке. Решил сам за 15 минут...
Мишаня17 уровень
13 ноября 2018, 13:11
pets.removeAll(cats); используйте стандартные методы, зачем изобретать циклы в циклах))
Tyrant10 уровень
18 ноября 2018, 12:44
Вот блин, а самый простой способ я и не додумался проверить ))))) Ну ничего, зато потрахался пару часов с вложенными циклами. Плохой результат тоже результат.
Igor18 уровень, Санкт-Петербург
20 ноября 2018, 14:51
изи
MakZa17 уровень, Санкт-Петербург
23 ноября 2018, 20:40
Не очень понял, как этот метод отделил кошек от собак в новом множестве? Типо, Set pets содержит в себе множество множеств?
pets (cats
		(cat1,2,3,4,5))
	(dogs
		(dog1,2,3,4,5))
Richard Hendricks9 уровень, Екатеринбург
понедельник, 22:10
блин, а я уже итератор заюзал и кучу говнокода, а всё так просто ))
Сергей9 уровень, Одесса
16 октября 2018, 22:33
Ребята, прошу, объясните пожалуйста. Задачу вроде решил, валидацию прошел, на выходе получил такой результат: com.javarush.task.task08.task0820.Solution$Cat@74a14482 com.javarush.task.task08.task0820.Solution$Cat@677327b6 com.javarush.task.task08.task0820.Solution$Dog@6d6f6e28 com.javarush.task.task08.task0820.Solution$Cat@4554617c com.javarush.task.task08.task0820.Solution$Dog@7f31245a com.javarush.task.task08.task0820.Solution$Cat@1540e19d com.javarush.task.task08.task0820.Solution$Dog@14ae5a5 com.javarush.task.task08.task0820.Solution$Dog@6d6f6e28 com.javarush.task.task08.task0820.Solution$Dog@7f31245a com.javarush.task.task08.task0820.Solution$Dog@14ae5a5 Process finished with exit code 0 Это вообще нормально? Я все время пытался добавить нормальные имена животным (String), но ничего не получалось. А когда всё убрал, вышла такая белиберда, зато валидацию прошла. Как из условия задачи можно понять что нужно вывести на экран ЭТО? Который раз уже сталкиваюсь с тем что не могу нормально понять условие задачи. Вроде внимательно читаю, долго мучаюсь пытаясь решить, а когда уже совсем тяжело становится, лезу в подсказки и обсуждения. Там вижу решение задачи, и понимаю, что условие и решение имеют мало общего. То ли условия задач формулируются по-дурацки, то ли я совсем отупел, и не понимаю очевидные вещи. У кого-нибудь еще бывает такое?
Nathan2217722 уровень, Санкт-Петербург
17 октября 2018, 21:44
Нормально, это ссылки на объекты. Если ты распечатываешь объект, допустим cat1 класса Cat(), а не его аттрибут скажем int age или String name то на выход поступает ссылка на этот объект - то есть та самая галиматья которая распечаталась.
Мишаня17 уровень
13 ноября 2018, 13:14
добавь в классы дог и кат методы toString() и укажи как программа должна выводить объекты на печать типа "Меня зовут " + this.name;
y-grek10 уровень, Киев
23 января, 23:34
у меня та же ерунда.. но меня сбило с толку именно количество строк.. ведь в сеты мы добавили четыре тех и три других.. чесно, по моим подсчетам это семь.. потом мы из них удалили котов, тоесть сделали чуток, но все же меньше семи.. каким ?*?:%%; образом у меня принтлн-ится 10 строк ссылок? ))))
y-grek10 уровень, Киев
23 января, 23:37
ниже по ветке Danila Bogdanov вернул мне веру в логику.. =)
Антон19 уровень
21 августа 2018, 13:04
Вывод на экран элементов коллекции (только для Java 8):
pets.forEach(System.out::println);
Alex B13 уровень, Москва
4 августа 2018, 13:55
Верно, почему то сначала в голову лезло что надо удалять через итератор после этих задач с map. А оказалось все намного проще -  removeAll(cats) - и все.
Shamil18 уровень
1 января, 12:56
точно так же и добавляем objects.addAll(cats); objects.addAll(dogs);
Alexander Sedov29 уровень, Москва
10 июля 2018, 11:15
кстати задача решена, но на выходе коты всёравно остались Cat@a14482 Cat@17327b6 Dog@16f6e28 Cat@154617c Dog@131245a Cat@140e19d Dog@14ae5a5 Dog@16f6e28 Dog@131245a Dog@14ae5a5
Danila Bogdanov20 уровень, Уфа
11 июля 2018, 19:46
До удаления котов выводится весь pets, a потом без котов Cat@a14482 Cat@17327b6 Dog@16f6e28 Cat@154617c до удаления котов Dog@131245a Cat@140e19d Dog@14ae5a5____________________ Dog@16f6e28 Dog@131245a после удаления Dog@14ae5a5
y-grek10 уровень, Киев
23 января, 23:36
спасибо, друг.. ты только что спас мою веру в логику.. и напомнил о внимательности.. ))