Итоговый список задач для программистов

Открыта

— Здорово, боец!

— Здравия желаю, капитан Бобров!

— У меня для тебя шикарная новость. Вот тебе задания для закрепления полученных навыков. Выполняй их каждый день, и твои навыки будут расти с неимоверной скоростью. Они специально разработаны для выполнения их в Intellij IDEA.

10
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Set из котов
Вам необходимо создать кошачье множество. Для этого нужен класс public static Cat. Затем реализуйте метод createCats, который должен создавать Set из котов и добавлять в него 3 котов. В методе main удалите одного кота из Set cats. И, наконец, реализуйте метод printCats, он должен вывести на экран всех котов, которые остались во множестве.
10
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Множество всех животных
Занесем животных в множества. Сначала создадим классы Cat и Dog, затем — методы createCats и createDogs (возвращают множества с собаками и кошками), метод join, возвращающий конгломерат из множеств собак и кошек. На случай недобрососедства — метод removeCats, удаляющий из pets котов. И ещё — метод printPets, пусть выводит на экран всех обитателей pets.
2
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Однофамильцы и тёзки
К обнаружению тёзок и однофамильцев готовы! Осталось только программу написать для воплощения этой светлой цели. Для начала составим словарь Map, куда будем добавлять людей в виде «Фамилия»-«Имя». Пускай их будет десять и некоторые из них будут однофамильцами и тезками. После этого выведем содержимое Map на экран.
5
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Минимальное из N чисел
Программист ищет минимумы и максимумы везде, где может — среди двух чисел, в массиве, в списке… На восьмом уровне секретного центра JavaRush студенты изучают списки, поэтому этот важный момент наступил. Прямо сейчас можно попробовать найти минимум в списке из n чисел. Но прежде, чем искать минимум, нужно этот список сформировать. Вы еще здесь?
10
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Омовение Рамы
Когда-то жил и правил легендарный древнеиндийский царь Рама. И, вероятно, была та, которая его родила. Не факт, что она мыла его самостоятельно (царица всё-таки), но да простят нам знатоки эту невинную историческую фантазию. Напишем программу, которая заменит текст «мама мыла раму» на «Мама Мыла Раму».
10
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Собираем семейство
Попробуем создать программу для семейной переписи. Для этого пишем класс Human с полями имя(String), пол(boolean), возраст(int), дети (ArrayList Human). Для тренировки создайте объекты и заполните их данные так, чтобы получилось два дедушки, две бабушки, отец, мать, трое детей. Выведите объекты на экран.
2
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Модификатор запутался
Статическим может быть не каждый! И если вдруг модификатор static попадет туда, где ему не следует быть, может статься что угодно! В коде, который вы увидите перед собой, щелкнув по этой задаче, так и произошло: один static оказался не в том месте. Помогите программе скомпиллироваться, переставьте модификатор туда, где он должен быть! Спасибо.
5
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Пять победителей
На корабле JRush прошёл многоэтапный конкурс по скоростному решению задач на массивы среди студентов 7-8 уровней. Среди 20 полуфиналистов пятеро с максимальными баллами считаются победителями. Итак, у нас есть массив с баллами полуфиналистов (баллы могут быть даже отрицательными). Выведем на экран великолепную пятёрку победителей.
10
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Работа с датой
Станция Небула-1 принимает звездолёты только по нечётным дням стандартного земного года (когда количество дней с начала года — нечётно). Выясним, можем ли мы сегодня отдохнуть на Небуле-1. Для этого реализуем метод isDateOdd(String date), возвращающий true, если количество дней с начала года — нечётное число, иначе false.

— Те задания были для духов. Для дедушек я добавил бонусные задания повышенной сложности. Только для старослужащих.

5
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Номер месяца
Временные промежутки «год» и «месяц», принятые на Терре, используются и на других планетах и объектах Федерации, в том числе — на корабле JRush. Однако зачастую стажёры экипажа внеземного происхождения путаются, когда речь заходит о земных месяцах. Поможем им: напишем программу с коллекциями, которая по имени месяца выведет его номер на экран.
5
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Модернизация ПО
Вы, вероятно, видели, как обновляеются приложения. Это происходит, если в их код внесли изменения. В секретном центре JavaRush вам выдали код, который нужно изменить (добавить новую функциональность). Сейчас программа определяет, какая семья живёт в доме с указанным номером, а после вашего вмешательства она должна выдавать город проживания семьи.
5
Задача
Java Syntax,  8 уровень,  11 лекция
Недоступна
Задача по алгоритмам
Вероятно, вы уже знаете упорядоченных изоморфов с планеты Линейный Хаос, которые любят алгоритмы сортировки, поскольку ими думают. Вот вам задачка для изоморфов младшего школьного возраста: введите с клавиатуры 20 слов и выведите их в алфавитном порядке. А как сортировать? Придумайте, вы уже почти что линейный изоморф!
Комментарии (316)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
RINAT8 уровень
позавчера, 14:13
В задаче "номер месяца" у меня выводится "April is the 4 month" (скопипастил), но валидатор выдает: "Внимательно проверь выводимый текст, похоже ты допустил опечатку." Не понимаю, что не так. Шаблон такой: "May is the 5 month". Его я тоже копипастил в код и переделал в
System.out.println(s + " is the " + n + " month");
. Пробовал добавить экранированные кавычки - не помогло.
RINAT8 уровень
позавчера, 14:51
Решил. Судя по всему, в одном из названий месяцев затесалась буква из кириллицы.
Alex V. Mel9 уровень
11 августа, 16:54
Вопрос по задаче "Номер месяца". Там обязательно или только желательно использовать Set и List, но можно и другой интерфейс из коллекций?
Venitarx14 уровень, Москва
12 августа, 09:29
Коллекции Java: Collection, Queue, Deque, List, Set, SortedSet, NavigableSet, Map, AbstractCollection, AbstractList, AbstractSet, AbstractQueue, AbstractSequentialList, AbstractMap, ArrayList, LinkedList, ArrayDeque, HashSet, TreeSet, LinkedHashSet, PriorityQueue, HashMap, TreeMap... Выбирай для решения любую...
Alex V. Mel9 уровень
12 августа, 14:44
Я уже решил с тем что было в валидаторе. С мэпом каждый сможет....
Alex V. Mel9 уровень
11 августа, 15:23
После почти суток мучений с задачей "Работа с датой" наконец понял как её решать, и в чём суть. дело не в билиотеках. не важно используете ли Вы deprecated Date или что-то новое, логика их работы не меняется. Они "лишь" добавляют безопасности и удобства как например ChronoUnit.DAYS.between(startDate, endDate) в java.time.* Можно не "мучиться" и не добавлять секунду, как кто-то писал в комментариях и не исследовать год на "високосность", хотя если эти решения привели к правильному результату, они тоже имеют право на жизнь.
Alex V. Mel9 уровень
9 августа, 16:24
Вопрос, как Вы удаляли в первой задаче? Получали конкретный объект и потом передавали его в ремув метод, или как то по другому?
Alex V. Mel9 уровень
9 августа, 17:26
Я сделал по сути так же, но не совсем. "Обнаружилось"😂 что можно удалить через for each и не получить ConcurrentModificationException, если не давать ему дальше передвигать "курсор".
for (Cat cat : cats) {
			cats.remove(cat);
			break;
		}
естественно такой "вариант" подходит только для таких dummy задач, где не имеет никакого значения что за объект и сам объект ничего не содержит. Кстати работа Set очень похожа на работу стэка (FILO/LIFO)
Set<Cat> set = new HashSet<>();
		set.add(new Cat("Murka"));
		set.add(new Cat("Nusha"));
		set.add(new Cat("Barsik"));
set cats size(): 3 set cats contains: Barsik Nusha Murka
for (Cat cat : cats) {
			cats.remove(cat);
			break;
		}
set cats size() after removing one item: 2 set cats after removing one item contains: Nusha Murka
Роман15 уровень, Москва
29 июля, 19:29
Так мало лекции было с датой, что очень сложно было решить эту задачу. Хотелось бы больше практических задач по ней. Без помощи никак бы не смог
Вадим Роготнев11 уровень, Екатеринбург
14 июля, 06:59
приходится разбираться с мелочей, не мог понять, что делает метод compareTo, вернее не мог понять - как он это делать, хоть и по несколько раз прочитал статью.
String a = "ab";
String b = "aa";
System.out.println(a.compareTo(b));
= 1. Добавляем регистр: ab, Ab. На выходе 32. Как он считает, разобрался. Теперь непонятно, почему 32, если z = 26 .
Bce_OK10 уровень, Москва
16 июля, 07:34
z это не 26 z - это 132, а Z - это 90. есть разные кодировки и в каждой по разному, разница 32, потому что между заглавными и строчными буквами есть ещё некоторые символы. Можете загуглить таблицу символов ascii, но сейчас вроде бы всё в юникоде уже
Ner'Zhul13 уровень
12 июля, 14:42
Гори в АДУ, 8 уровень!
Pavel Lysenkov8 уровень, Тверь
15 июля, 11:00
Хех)
VADIM SHULGA14 уровень, Санкт-Петербург
12 июля, 08:33
Может кто-то растолкует про модернизацию? у меня в упор условие с существующим кодом в голове не стыкуется...
Сергей Novichok11 уровень, Нижний Новгород
11 июля, 19:24
А в омовении Рамы task0823 слов должно быть 3 или, также как и пробелов произвольно?
Pavel Lysenkov8 уровень, Тверь
15 июля, 12:23
StringBuilder попробуй использовать (почитай про него )
Сергей Novichok11 уровень, Нижний Новгород
15 июля, 15:31
Уже разобрался. Сначала по невнимательности часа 2 тупил, сделал решение только для строки из 3 слов с indexOf и substring'ами, но валидатор был непререкаем. После чего закрались смутные сомнения. В итоге гораздо проще получилось решение с символьным массивом
Alex V. Mel9 уровень
10 августа, 01:41
Тот случай когда решил ИЗИ задачу(омовение Рамы) только с 3 попытки и то через несколько часов. Думал "отделаюсь" split'ом и всё. Не ту-то было. Валидатор говорит, а что если пробелов буде больше чем 1... . В итоге 2 StringBuilder'а, массив char и громоздкая конструкция из циклов и проверок. Стоило "опуститься" на несколько уровней ниже от абстракций типа Set, List и Map, и нужно уже другое "мышление", как в старом-"добром" C, когда проходишь по "строке" сдвигая указатель. Недоволен собой за эту задачу.😢 UPD. Беру свои слова про split обратно. Со split'ом тоже можно(и нужно) делать и даже легче ,чем через массив символов. Единственное нужно учитывать что на очень больших строках наверное будет снижаться производительность из-за того, что split в JDK реализован через regex, а не через indexOf.
Сергей Novichok11 уровень, Нижний Новгород
13 августа, 16:03
Почитал про split, а штука-то интересная!
Alexander8 уровень, Саратов
11 июля, 19:23
Во второй задаче не заметил что в main printPets вызывается 2 раза, до удаления и после. Некоторое время искал почему же в печать выводит 6 собак а не 3.