Сборник итоговых задач для программистов

Открыта

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

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

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

3
Задача
Java Syntax,  5 уровень,  12 лекция
Недоступна
И целой утки мало
В этой программе уже реализован класс «утка», и даже созданы две конкретных утки (два объекта). По аналогии с классом утка, создайте еще парочку категорий животных, а именно — Cat (кошка) и Dog (собака). Выясните, что должен возвращать метод toString в этих классах и создайте каждой твари по паре (в смысле объектов) и выведите их на экран.
3
Задача
Java Syntax,  5 уровень,  12 лекция
Недоступна
Мужчина и женщина
Классы создавать легко и приятно. Давайте почувствуем себя творцами в виртуальной среде и создадим класс Man и класс Woman. Они должны быть созданы внутри класса Solution и быть public static, с полями «имя», «возраст» и «адрес». Еще нужно описать конструкторы со всеми возможными параметрами, ну а после этого можем создавать конкретные объекты.
3
Задача
Java Syntax,  5 уровень,  12 лекция
Недоступна
Том и Джерри
Помните мультфильм «Том и Джерри»? Если вы слишком для этого молоды, Google вам в помощь, и вот зачем: в этом произведении анимационного искусства живет множество котов, мышей и собак. В нашей задаче нужно создать три класса: Dog, Cat, Mouse, в каждом — по три поля, а затем создать объекты этих классов, назвав их именами героев мультфильма.
3
Задача
Java Syntax,  5 уровень,  12 лекция
Недоступна
Вывести на экран сегодняшнюю дату
Иногда программисты сутками сидят у компьютера и теряются во времени. Так что, если вы встретите на улице парня, который спросит вас о том какой сейчас год, это не обязательно Марти МакФлай. Может, он просто слишком долго писал код. Чтобы не теряться, давайте выведем в консоль сегодняшнюю дату в формате «02 11 2016».
3
Задача
Java Syntax,  5 уровень,  12 лекция
Недоступна
Консоль-копилка
Представим, что у нас есть свинья-копилка. В неё можно складывать монетки, пока в какой-то момент вы её не разобьете. Давайте напишем консольный эмулятор такой копилки: будем вводить с клавиатуры числа и складывать их до тех пор, пока не «разобьем» этот процесс специальным словом «сумма». После этого программа должна вывести на накопленную сумму.

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

3
Задача
Java Syntax,  5 уровень,  12 лекция
Недоступна
Шеф, что-то не пашет
Чужой код — неизведанная земля. Что ждет вас там? Возможно, духовно развитые волки, поющие мантры, и кровожадные лани готовые вцепиться зубами в чье-то горло… Мы вас не пугаем, лишь предупреждаем, что чужой код полон неожиданностей. Давайте покопаемся в программе, которая по идее должна считать сумму двух чисел, и посмотрим, что в ней не так.
3
Задача
Java Syntax,  5 уровень,  12 лекция
Недоступна
Совершенствуем функциональность
Мудрость программиста заключается в следующей фразе: «работает — не трогай!». Но что, если необходимо усовершенствовать функциональность программы? Увы, в 99% случаев таки приходится влазить в чужой код. Что ж, приступим: есть программа, она выводит минимум двух введенных чисел на экран. Перепишите её так, чтобы она делала то же самое для 5 чисел.
3
Задача
Java Syntax,  5 уровень,  12 лекция
Недоступна
Задача по алгоритмам
Все классические алгоритмы уже давным-давно запрограммированы. Тем не менее, задачки на алгоритмы — очень ценны. Хотя бы тем, что, развивают мышление программиста. В алгоритме поиска максимума ничего сложного и нет. Так что не медлим: пишем программу, в которой задаем положительное целое число n, затем вводим n чисел и находим максимальное среди них.
Комментарии (314)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Seryoga Eganov7 уровень, Москва
пятница, 12:31
Странно, почему мы не можем просто через цикл for сравнивать новое считанное значение с предыдущим, к чему эта передача 5 параметров. У нас же нет задачи хранить 5 переменных или что то такое, просто показать наименьшее из 5.
Роман8 уровень
вчера, 05:49
возможно чтобы реализовать перегрузку методов. не помню где это было, перед конструкторами, методы initialize() с разными параметрами. у меня получилась такая строка: min = min (min, num);
Юрий10 уровень
14 января, 07:52
поиск минимального из 5 делается очень просто через переприсваивание этих пяти переменных. всего пять строк из if и присвоения, ну и переменная буфер, чтобы не потерять значение при пересвоении.
Bob Ivance7 уровень, Санкт-Петербург
7 января, 23:16
Какой сегодня день? он у меня 08 не принимает =))
Илья7 уровень, Санкт-Петербург
7 января, 14:50
В задаче на поиск минимального из пяти чисел очень уж хотелось реализовать поиск минимального из любого количества введенных чисел. Пришлось попотеть, забежать вперед и использовать ArrayList, но это того стоило :) Программа записывает любое количество чисел в список, пока пользователь не введет "min", после этого выдает минимальное число из списка. Дабы не делать комментарий огромным, код доступен по ссылке Комментарии как его можно улучшить приветствуются :)
Danil Van Dovgal7 уровень, Киев
9 января, 13:04
Если уж забегаете вперед в этом случае можно вместо ArrayList использовать TreeSet<Integer> set = new TreeSet<>(); (https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html), который будет сам сортировать числа и не засорять последовательность одинаковыми значениями. А в конце вызвать метод set.last(). В Вашем случае потребность в методе public static int min(ArrayList<Integer> numbers)отпадает.
Геннадий9 уровень, Одесса
5 января, 21:04
Не очень удачно в IDEA в задание воткнули строку import com.javarush.task.task05.task0511.Dog; Появляется ошибка компиляции на сервере, вот и ошибки.
Kirill10 уровень, Екатеринбург
4 января, 15:31
Задача по алгоритмам лёгкая, а смотрю много людей не могут решенить. Подскажу как решать проще всего (я надеюсь, что все застряли на вопросе как найти максимальное число, а не как создать цикл с произвольным количество шагов N): 1) Записываем число введенное с клавиатуры в дополнительную переменную 1.1) Обозначить первое число, записанное с клавиатуры, это как максимум (maximum, надеюсь догадались как обозначить :) ) 2) На следующем шаге цикла мы опять записываем с клавиатуры новое число в дополнительную переменную 2.1) Сравниваем дополнительную переменную и maximum, и, если дополнительная переменная больше чем maximum, то присваиваем maximum = значение доп. переменной. Well done P.S Чтобы обозначить первое число, записанное с клавиатуры, и дальше не обозначать на следующих шагах цикла, возьмите условие:
if (i == 0) maximum = number; // i - это переменная цикла for
Надеюсь догадались для чего это условие
Evgenii17 уровень, Санкт-Петербург
30 декабря 2018, 21:30
не могу понять, а зачем нужны static class?
Артем Щурев11 уровень
2 января, 11:36
Прочитайте про статические вложенные классы. У нас статический класс объявлен внутри нестатического.
Evgenii17 уровень, Санкт-Петербург
6 января, 08:27
Да, спасибо вроде разобрался :)
27 декабря 2018, 22:04
Задача по алгоритмам действительно интересная, решил путем использования условного оператора, цикла и массивов. Без массивов кто- нибудь решал?
Eugene Orlov10 уровень, Москва
7 января, 14:07
я тоже сначала подумал что без массивов никуда, так как куда же девать все переменные. А потом прикинул, что если вводимое число меньше максимума, то и хранить мне его не надо. Максимум по умолчанию второе вводимое число ( после счетчика количества чисел).
Артемий15 уровень, Санкт-Петербург
14 декабря 2018, 14:40
В кои-то веки написал по-красивому, а валидатор просит городить частокол из параметров.
int minimum = 0;
for (int i = 5; i > 0; i--) {
    int num = Integer.parseInt(reader.readLine());
    minimum = min(minimum, num);
}
Обидно.
Roller14 уровень, Новосибирск
23 декабря 2018, 10:35
т.е. если ты введешь 5 положительных чисел, у тебя минимум будет 0 ?
Артемий15 уровень, Санкт-Петербург
23 декабря 2018, 13:16
ну да ) собственно, на этом я и обжегся почти сразу после своего коммента, но забыл подправить код
int minimum = Integer.MAX_VALUE;
Илья16 уровень
26 декабря 2018, 15:23
у тебя тут синтаксическая ошибка - ты в каждой итерации цикла пытаешься заново проинициализировать переменную num (int num). инициализацию надо выносить за тело цикла. так же не учтено, что все введенные переменные могут больше той, что ты назначил по умолчанию. То есть переменной minimum надо присваивать не 0, а первую считанную переменную
Артемий15 уровень, Санкт-Петербург
26 декабря 2018, 16:24
Да вроде здесь не возникало ошибки. Это просто локальная переменная в своей области видимости. Вне цикла она и не нужна. Насчет minimum - да, мысль хорошая. Ума не приложу, что мне помешало это сделать (потом, кстати, поменял его на Integer.MAX_VALUE).
Алексей7 уровень
12 декабря 2018, 17:01
Алгоритмы Народ, подскажите пожалста, чем этот код не отвечает критерию учета отрицательных чисел?
Andrey7 уровень
13 декабря 2018, 21:49
Например m = -50 if (-50 > 0) false
Алексей7 уровень
14 декабря 2018, 15:56
А ничего, что в условии дважды говорится про то, что на ввод принимается ПОЛОЖИТЕЛЬНОЕ число? Зачем тогда такой критерий?
Andrey7 уровень
15 декабря 2018, 18:04
В задаче сказано, что N (int n) должно быть больше 0. N чисел с консоли (int m) может быть отрицательным.
Роман7 уровень, Казань
19 декабря 2018, 17:14
По условию задачи только первое число (счетчик) должно быть > 0. Если остальные числа будут отрицательными, значение переменной maximum не перезапишется и останется равным 0. Предлагаю нагуглить минимальное число в типе int и задать его для maximum (для этого есть специальное слово).
Владимир7 уровень
22 декабря 2018, 12:56
Можно просто изначально в максимум записать первое вводимое число, уже потом с ним сравнивать.