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

Открыта

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

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

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

5
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Кот и статика
Солнце встает. Задачи всё сложнее: изучаем static’и. В этот раз нам нужно в классе Cat создать статическую переменную catCount и конструктор [public Cat()].Пусть при каждом создании кота (нового объекта Cat) статическая переменная catCount увеличивается на 1. Нам нужно создать десяток котов и вывести значение переменной catCount на экран.
10
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Статические коты
Статический кот — всем котам кот. Поэтому в этой задаче в классе Cat добавляем статическую переменную cats. Пусть при каждом создании кота (нового объекта Cat) в переменную cats добавляется этот новый кот. Нам нужно создать 10 объектов Cat, а затем метод printCats должен выводить всех котов на экран.
2
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Феншуй и статики
Специалист по программистскому феншую несколько секунд пристально изучал код программы, затем приподнял одну бровь, кивнул и торжественно произнес: «Я увидел ошибочность расположения модификаторов в этом коде. Нужно переставить один модификатор static. Тогда всё будет по феншую. Пример скомпилируется. Гармония восстановится».
5
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Минимальное число статиков
Разминать мозги полезно, а делать это лучше всего с помощью головоломок. Но поскольку мы — программисты, головоломки мы помещаем прямо в код. Вот, держите: в коде этой задачки нужно расставить минимальное количество static’ов так, чтобы код начал работать и программа успешно завершилась.
5
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Блокнот для новых идей
Крутые идеи нужно записывать, они забываются очень быстро. Для этого в классе Solution создадим статический класс Idea, а в нем — метод public String getDescription(), который будет возвращать любой непустой текст. Затем создадим статический метод public void printIdea(Idea idea) — он выведет описание нашей идеи на экран.
2
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
KissMyShinyMetalAss
На планете Диких Роботов никого не учат ни писать, ни программировать. Поэтому когда робота А. забрали из его естественной среды и перевезли на космокорабль, оказалось, что он не может даже подписать контракт. Поможем роботу А.: создадим для него класс KissMyShinyMetalAss для подписывания контрактов.
2
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Три статические переменные name
Статические переменные несут огромную пользу, если ими не злоупотреблять. И вообще… Их нужно понимать, холить и лелеять. Сейчас вы получите код, в котором уже реализованы кое-какие классы. Ваша задача состоит в том, чтобы дописать в код три public статические переменные: String Solution.name, String Cat.name, String Dog.name.

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

2
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Исправляем ошибки юности
Бывает, работает кодер, такой на проекте, старается. Открывает чужой модуль, а тот не только не работает правильно, но и не компилируется. Этого не избежать в компаниях, где больше одного кодера. Поэтому с младых ногтей приучаемся читать чужой код и выискивать в нём ошибки. Заставьте эту программу вывести максимальное число из двух введенных.
10
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Родственные связи кошек
Готовая задача: у кошки есть имя и кошка-мама. Создать класс, который это описывает. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран. Новая задача: У каждой кошки есть имя, кот-папа и кошка-мама. Изменить Cat так, чтобы он мог описать эту ситуацию. Создать 6 объектов: дедушку (папин папа), бабушку (мамина мама), папу, маму, сына, дочь.
10
Задача
Java Syntax,  6 уровень,  11 лекция
Недоступна
Числа по возрастанию
Возможно, вы уже слышали об упорядоченных изоморфах с планеты Линейный Хаос — изобретателях всех методов сортировки. Сегодня нужно решить задачу от них: пользователь вводит с клавиатуры 5 чисел, метод сортирует числа по возрастанию, а другой метод — выводит их на экран. Осилите? Если да, возможно, вам следует посетить Линейный Хаос!
Комментарии (490)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Evgeny Sumarokov7 уровень, Москва
пятница, 11:08
Потратил почти час, чтобы решить последнюю задачу без массива. Получилось около 150 строк. Нажимаю заветную кнопку, смотрю вывод - вуаля. Программа работает! Только вот одна проблемка. Сделал сортировку по убыванию... В итоге решил просто инвертировать порядок вывода :D
Andrey M.8 уровень, Санкт-Петербург
пятница, 12:48
ну ты заморочился, последняя с сортировкой массива строк 12-15 заняла))
Evgeny Sumarokov7 уровень, Москва
позавчера, 10:31
Массивы просто только на следующем уровне открываются. Было интересно написать код только с теми функциями, которые были раскрыты ранее. Интересно только для чего во второй задаче засунули ArrayList<>?
вчера, 17:08
Пузырьковым методом 7 строк получается + 6 строк объявление переменных и 5 строк вывод на экран =)
Игорь Кучер34 уровень, Киев
четверг, 19:38
По алгоритмам советую Лафоре Р. - Структуры данных и алгоритмы в Java. Намного лучше и понятнее, чем Грокаем алгоритмы, хоть и текста в два раза больше
четверг, 17:48
Сортировка массива, сортировка массива... Я принципиально хотела понять как эту фигню можно сделать без массива)) Да, да, тут всего 5 элементов, а если будет 1000... Ну так тут не тыща же... Долго пыжилась, чуть ноут с балкона не вылетел. Разобралася! Яххуу!🥳
Andrey M.8 уровень, Санкт-Петербург
пятница, 12:49
😂
Vladi7 уровень
14 мая, 09:35
Весь прикол задач на сортировку и ей подобных не в том, чтобы решать их через Arrays. Лучше написать алгоритм вручную и понять как вся эта тема работает. Arrays потом можно использовать 😉
Eversman8 уровень, Владивосток
16 мая, 06:13
Только потом везде будут советовать использовать коллекции, и ни в коем случае не писать сортировку руками, потому что она будет медленная.
Uladzimir8 уровень, Витебск
6 мая, 19:39
Ищем минимум и максимум, разница между ними это количество циклов. В теле цикла к минимум++ и сравниваем со всеми числами if(min==1,2...5 число) то System.out.println(число), после выполнения цикла будет Вам счастье.
Sergei Polushin8 уровень, Новосибирск
5 мая, 13:55
На последнюю задачу ушел день. Точнее, день ушёл на изучение алгоритмов и темы массивов. По итогу разобрался в паре алгоритмов, а сортировку предоставил программе через Arrays.sort(); 🙂
Dmitry Gorchakov17 уровень, Москва
4 мая, 09:13
Попробуйте решить последнюю задачу с имеющимся багажом знаний (без сортировки массива и вообще без массива, который мы ещё не прошли). Зачем, если можно сделать легче? Чтобы развивать свою логику и укрепить полученные ранее знания. Задача покажется уже куда сложнее (у меня она вышла в 125 строк кода).
Артем16 уровень, Москва
4 мая, 13:16
зачем тратить время на заведомо неверный способ? лучше его потратить на изучение массивов и применение в действии. В жизни постоянно будут задачи, которые требуют методов ранее неизвестных. задача решается в 4 строки:
// объявляем массив длиной в 5 элементов
int[] arr = new int[5];
// через цикл заполняем массив введенными с клавиатуры числами
for (int i = 0; i < 5; i++) { arr[i] = Integer.parseInt(reader.readLine()); }
// сортируем массив по возрастанию
Arrays.sort(arr);
// через перебор массива поэлементно выводим данные на экран
for (int x : arr) { System.out.println(x); }
Dmitry Gorchakov17 уровень, Москва
4 мая, 16:08
Задача может быть решена с текущим уровнем знаний для данного уровня, поэтому почему бы не подумать о механике её решения в условиях тех знаний, которые уже имеются? Да, это будет не лучшее решение, но будет полезно для закрепления текущих знаний. А задач с массивами и списками достаточно впереди) Каждому своё)
Анатолий9 уровень, Гродно
4 мая, 16:27
можно и через стримы тогда уж
Stream.Builder<Integer> streamBuilder = Stream.builder();

       for (int i = 0; i < 5; i++)
           streamBuilder.accept(Integer.parseInt(reader.readLine()));

       streamBuilder.build().sorted().forEach(System.out::println);
Anton7 уровень, Уфа
3 мая, 11:37
Отсортировать числа проще далась задача, чем про родственных кошек
четверг, 14:27
Везёт же)) Мне коты оказались ближе к телу.
IvanV8 уровень, Запорожье
24 апреля, 22:12
Последняя задача очень страшна.
Alexandr Mihailovich15 уровень, Kursk
27 апреля, 18:06
не так чтобы очень. Arrays.sort() все сделает за нас
IvanV8 уровень, Запорожье
27 апреля, 18:37
я этот метод не вызывал. Несколько циклов и условий.
Alexey16 уровень
30 апреля, 22:55
А что там страшного ? 1) Считать в массив 2) Отсортировать массив 3) Вывести массив Всё "за вас" idea "делает" =) Причем эта задача повторяется - была в какой-то из лекции где-то. Мне не понятно почему у нее стоит HARD:/
Seva15 уровень, Москва
1 мая, 20:30
Да, в классе Array есть много прикольных методов, упрощающих жизнь. И сортировка по возрастанию / убыванию тоже. Но я таки понимаю, что задача заключалась не в том, чтобы воспользоваться уже готовым методом, а в том, чтобы написать свой. А что такое массивы и как их сортировать покажут только в следующем уровне
Alexey16 уровень
1 мая, 20:33
Я без методов класса Array все решил 1) Считать в массив - for 2) Отсортировать массив - два for 3) Вывести массив - снова for Всё "за вас" idea "делает" - fori fori ... Очень простая задача.
IvanV8 уровень, Запорожье
24 апреля, 20:40
В задаче "Статические коты" не трогайте конструктор.
Виктор20 уровень, Москва
25 апреля, 09:42
почему же? удобнее чтобы конструктор принимал имя и сразу обоих родителей. если родителя нет, то передавайте null
IvanV8 уровень, Запорожье
25 апреля, 12:29
про родителей - это другая задача.
Anton Dityatev8 уровень, Северодвинск
26 апреля, 19:54
Я тоже без конструктора сделал. И к чему в задании указано его использовать?
Alexander I8 уровень, Москва
4 мая, 22:52
Вот и я не понял. Я запихнул в конструктор:
cats.add(this)
Оказалось, что надо добавлять в main -_-