практика программирования на java
Практические задачи по Java — для курсов и прочих занятий
Практические задачи по Java — для курсов и прочих занятий
Несколько вводных слов
Последние несколько лет я читаю курс по программированию на Java. Со временем он менялся — то добавлялись, то выкидывались разные части, менялась последовательность тем, менялся подход к построению плана самих занятий, и так далее. То есть, курс совершенствовался. Одной из основных проблем, возникших при подготовке курса — это задачи. О них и пойдёт речь.
Дело в том, что каждое моё занятие состоит из двух частей. На первой я выступаю в роли лектора — рассказываю с примерами кода о какой-то новой теме (классы, наследование, дженерики и так далее). Вторая часть — практическая. Очевидно, что нет смысла просто рассуждать о программировании, надо программировать. Приоритет на занятиях — решение задач, то есть программирование чего-то как-то. Программирование на занятиях отличается от программирования дома, так как на занятиях можно задать вопрос, показать код, получить быструю оценку кода, комментарии по улучшению, исправлению написанного. Очень легко было найти задачи для самых первых занятий. Задачи на циклы, условные операторы, и ООП (к примеру, написать класс «Собака» или класс «Вектор»). Сервисы вроде leetcode позволяют даже проверить правильность решения таких задач сразу, онлайн. Но какие задачи дать студентам на занятии, которое было посвящено коллекциям? Потокам? А аннотациям? За несколько лет я придумал, или переработал несколько таких задач, и эта статья, по сути, является сборником этих задач (к некоторым задачам прилагается решение).
Конечно, все задачи уже где-то появлялись. Однако, эта статья ориентирована на преподавателей курсов по программированию (для языков, похожих на Java, большинство задач подойдёт), или тех, кто преподаёт программирование частным образом. Эти задачи можно использовать «из коробки» на своих занятиях. Изучающие Java тоже могут попробовать решать их. Но такие решения требуют сторонней проверки и оценки.
Некоторые самые простые задачи, которые уже десятилетия все используют, я тоже включил в эту статью. Пожалуй, для того, чтобы не начинать сразу с абстрактных классов.
Как научиться программировать на Java: почему стоит и где начать
Определитесь со своими карьерными целями и выберите язык. Это пожалуй самый важный совет для тех, кто не имеет опыта программирования и стремится присоединиться к сообществу разработчиков. Но как сделать выбор, не зная, какой язык больше всего подходит для ваших целей?
Было бы проще, если бы среди всех языков программирования был «лидер рынка»? И тогда у всех новичков всегда будет безопасный выбор — выучите этот язык, и вы наверняка будете востребованы. Но это конечно же невозможно. Языки являются «инструментами» для решения многочисленных задач. Один из языков, к которому стоит присмотреться, является Java.
Java — это хорошо структурированный, объектно-ориентированный язык, который может показаться простым для начинающих. Вы можете справиться с ним довольно быстро, так как много различных процессов запускаются автоматически. В первое время не потребуется углубляться глубоко в «как там все работает». Java является кроссплатформенным языком. Это позволяет программисту создать приложение, которое можно развернуть на любом устройстве. Это предпочтительный язык для IoT(интернет вещей), отличный инструмент для создания enterprise приложений, мобильных приложений и т.д.
Что важно для новичка, у Java есть одно из крупнейших сообществ и очень качественная документация. Если у вас есть проблема, с высокой вероятностью ответ есть уже в документации. Еще два преимущества Java — это обширные библиотеки и фреймворки, которые покрывают большинство проблем, с которыми вам придется столкнуться как младшему разработчику.
Наконец, это язык с респектабельным прошлым и выдающимся будущим. Две последние версии, дополненные новыми функциями, были выпущены в течение шести месяцев друг за другом. Это помогает Java стоять на переднем крае и удерживать самые высокие позиции в профессиональных рейтингах.
Но даже когда мы говорим о языке программирования с низкой кривой обучения, есть много скрытых камней для начинающих. Сколько времени нужно учить? Каким источникам доверять? Какие ошибки следует избегать? Давайте проедемся по учебному плану.
Убедитесь, что вы знакомы с частыми ошибками у новичков
Итак, вы новичок в программировании. Поздравляем: так как вы можете использовать опыт других программистов и избежать распространенных ошибок в самообразовании. Вот несколько частых ошибок.
Обучение без постановки конкретной цели
Чтобы оценить масштаб и желаемый уровень знаний по какому-либо языку программирования, прежде всего, вы должны ответить на простой вопрос: зачем вам программирование?
Если вы серьезно относитесь к кодированию и собираетесь стать Java-разработчиком, вам придется учиться каждый день в течение по крайней мере 4–5 часов. Но если вы просто хотите расширить свои знания, вы можете выбрать более спокойный темп. В любом случае, старайтесь не продлевать свое образование на долгие годы, потому что технологии развиваются. Пока вы изучаете какой-либо фреймворк или инструмент разработки, чтобы получить работу, они устаревают.
Чтение всплывающего «чего-нибудь полезного» — не лучшая стратегия обучения. Можно внести коррективы в общий план. Однако, если вы не будете следовать этому, это неизбежно приведет к демотивации.
Попытка изучить слишком много технологий одновременно
Это следующая ошибка, которая ведет к обучению без конца. Не пытайтесь заполнить свой учебный план слишком большим числом технологий и инструментов, чтобы избежать выгорания. Вам нужно время, чтобы обработать информацию и посмотреть, как все работает на практике.
Слишком много исследований и теории без практики
Программирование — это навык, который вы можете получить только через большое число практики. Вам понадобится серьезный теоретический опыт, но пока вы только читаете (или просматриваете) лекции и курсы, вы не сможете писать код. Думайте об этом. Никто не может научиться плавать, не пытаясь это сделать. Вам нужны объяснения, но, прежде всего, вам нужны действия.
Только много практики научит вас, как справляться с повседневными проблемами программистов. Например, у вас появится привычка регулярно проверять код и не допускать накопления проблем. Вы также начнете с самых простых решений. Затем переходите к более изысканным, постоянно работающим над улучшением вашего кода. И самое главное, вы привыкнете к кодированию ежедневно.
Учиться программировать в изоляции
Начинающие часто колеблются, должны ли они присоединиться к сообществам онлайн-программирования или посещать мероприятия, в основном из-за синдрома самозванца. Но помните: никто не хочет вас сбить. Сообщество программистов сотрудничает. Вот как появляются многочисленные открытые источники данных. Они привыкли работать в команде, и, безусловно, все они были новичками в определенный момент жизни.
Подумайте: есть много форумов и веб-источников по программированию. Разработчики охотно делятся своими знаниями и открыты для сотрудничества. Вы можете начать учиться в режиме онлайн, получить полезные советы от более опытных коллег, а затем найти свой первый проект по программированию.
Быть уверенным, что однажды вы полностью поймете все аспекты программирования
Если кто-нибудь найдет таблеткупроглотив которую сразу же приобретет навыки в любом языке программирования, то он станет самым богатым человеком на планете (извините, Джефф Безос). Но до тех пор, если вы решили стать программистом, у вас не будет конца в образовании. Даже когда у вас есть работа, никогда не прекращайте учиться. В мире программирования все быстро меняется.
С другой стороны, когда вы все еще учитесь программировать, постарайтесь принять некоторые факты такими, какие они есть. Не копайтесь в каждой мелочи, поскольку при текущем бекграунде может быть слишком «тяжело».
Сделайте идеальную тренировочную программу
Легче достичь своей цели шаг за шагом. Теперь, когда вы знаете распространенные ошибки, вы можете их избежать. Вот пять шагов, которые вы можете предпринять, чтобы изучить Java.
1. Поставьте цель и выберите язык
Вы можете делать практически все что угодно с Java. Вы можете создавать сервера приложений, настольные и мобильные приложения, корпоративные приложения и много чего еще. Но, конечно, язык программирования — это не все, что вам нужно знать, чтобы стать профессионалом. Попробуйте подумать о конкретных областях деятельности.
Тенденции сегодняшнего дня — это создание облачных приложений (вам также необходимо изучить основы облачных вычислений и специальные инструменты для облачной разработки), работа с интернетом вещей (IoT), выполнение анализа больших данных, создание игр и т.д.
2. Создайте учебный план
Вы готовы сделать программирование на Java своей профессией? Тогда посвятите как минимум 2–3 (в рабочие дни) и 5 часов (в выходные дни) ежедневному обучению. В этом случае вам, скорее всего, потребуется от 3 до 6 месяцев для подготовки к должности младшего разработчика.
В целом, ваш учебный процесс будет разделен на несколько этапов:
Вы можете легко использовать известный принцип Парето (правило 80/20) для изучения Java. «20» будет означать теорию, а «80» — практику. Это не преувеличение: вам понадобится в четыре раза больше времени на программирование, чем чтение, чтобы запомнить то, что вы узнали и закрепить свои навыки написание кода. К сожалению, если вы не напишите свой код сразу, вы забудете все, что прочитали на следующий день. К счастью, вам не нужно изобретать собственную программу обучения, если у вас есть подходящие источники.
3. Выберите правильные инструменты и присоединяйтесь к сообществам программистов
Давайте будем честными: идеального курса Java не существует. Некоторые дадут вам глубокие теоретические знания, другие дадут вам много практики. Выберите несколько платформ для обучения, общения и практики. Выберите один онлайн-курс, который сочетает в себе простое объяснение теории с реальным написание кода.
Присоединяйтесь к сообществам, где вы можете задать любой вопрос об аспектах программирования на Java, поделиться своими мыслями и найти единомышленников. Лучшие сообщества для разработчиков Java перечислены ниже.
Используйте несколько источников для изучения Java
Вам понадобится много инструментов для достижения ваших целей. Вот один из возможных набор «инструментов» для достижения успеха.
1. Строго практика: CodeAcademy
Вероятно, это одна из самых известных онлайн-платформ для изучения многочисленных языков. Конечно, есть раздел для изучающих Java. Здесь вы начинаете кодирование с первого урока. Есть довольно полезные советы, которые вы можете получить, если определенное задание кажется трудным (что нормально, когда вы новичок). Логика проста: прочитайте задачу, напишите код и запустите его, чтобы увидеть, что произойдет в результате, а затем перейдите к следующему шагу. Задачи постепенно усложняются, пока вы не начнете писать свой код с чистого листа. Раздел часто задаваемых вопросов очень полезен, и у вас есть возможность обсудить каждое задание с другими студентами.
Этот курс может быть отличным дополнительным инструментом в изучении Java. Как уже говорилось ранее, вам нужно писать код для освоения программирования на Java.
2. Play and code from the beginning: CodeGym.cc
Это онлайн-курсы для изучающих Java с одной особенностью — геймификацией. В настоящее время в онлайн-курсах принято использовать игровые элементы, поскольку они обеспечивают мгновенную мотивацию, чувство постоянных достижений и облегчают достижение вашей цели.
В CodeGym вы начинаете с уровня 0 в футуристической вселенной с космическими путешествиями, роботами и другими классными вещами. Ваша цель — пройти четыре образовательных квеста, чтобы повысить уровень персонажа — робота. Каждый квест включает в себя 10 уровней, и каждый уровень имеет до 10–12 уроков, которые преподают члены экипажа галактического корабля. Урок состоит из минимальной теории и набора задач с мгновенной проверкой и советами о том, как улучшить ваш код. Вы начинаете кодировать с самого начала, решая очень простые задачи, пока не будете готовы к гораздо более сложным и масштабным проектам кодирования.
Эта история позволяет вам не застрять на определенном предмете или задании, двигаться вперед и вернуться позже к «твистерам». Всего в курсе более 1200 заданий. Во временном эквиваленте это соответствует как минимум 300–500 часам написание кода.
3. Challenge programmers: Codewars
Это еще одна онлайн-платформа с огромным количеством практики. Хотя это больше подходит для учеников с хотя бы небольшим опытом программирования.
Вы можете написать свой код в браузере и использовать контрольные примеры, чтобы проверить его шаг за шагом. Вы также можете сравнить свое решение с другими, чтобы расширить свои знания и обсудить лучшие практики. Каждый «ката» имеет ранг, и каждый «ката» является проблемой для других программистов. Когда вы решаете более сложные задачи, вы можете получить более сложные задачи, чтобы улучшить навыки программирования. Эта платформа отличается от других тем, что она позволяет учиться и практиковаться в группе.
4. Слушайте лекции «профессионального» уровня: EdX
EdX — образовательная платформа, основанная Гарвардским университетом и MIT. Он охватывает многие области исследований, включая программирование на Java и многие смежные вопросы. Есть много проверенных вводных курсов и программ сертификации, предоставляемых университетами.
Каждый курс имеет свой временной интервал и включает в себя видео лекции с текстовой расшифровкой. Легко вернуться к предыдущим урокам и пересмотреть материал. Есть десятки разных курсов, некоторые из них бесплатны. Но все же, это источник строго для изучения теории Java. Обязательно закрепите эти курсы практикой.
Хотите быть в курсе последних новостей, обзоров и обновлений в мире Java? Это правильно. Java постоянно развивается, обновляется и добавляет новые фичи. Убедитесь, что у вас есть пара ресурсов, которые вы можете читать ежедневно. Одними из крупнейших являются:
Быть программистом — значит постоянно совершенствоваться, получать новые знания и применять их на практике. Если вы с самого начала разовьете навык самообразования, вы обязательно добьетесь успеха. Вы готовы попробовать?
Базовое программирование на Java: упражнения, практика, решение
Базовые упражнения Java [150 упражнений с решением]
[ Внизу страницы доступен редактор для написания и выполнения сценариев. ]
1. Напишите программу на Java, которая напечатает «Hello» на экране, а затем напечатайте свое имя в отдельной строке. Перейти к редактору
Ожидаемый результат :
Привет
Александра Абрамова
2. Напишите программу на Java для вывода суммы двух чисел. Перейти к редактору
Тестовые данные:
74 + 36
Ожидаемый результат :
110
3. Напишите программу на Java, чтобы разделить два числа и напечатать на экране. Перейти к редактору
Тестовые данные:
50/3
Ожидаемый результат :
16
5. Напишите программу Java, которая принимает два числа в качестве входных данных и отображает произведение двух чисел. Перейти к редактору
Тестовые данные:
Введите первое число: 25
Введите второе число: 5
Ожидаемый результат :
25 х 5 = 125
7. Напишите программу на Java, которая принимает число в качестве входных данных и печатает свою таблицу умножения до 10. Перейти к редактору
Тестовые данные:
Введите число: 8
Ожидаемый результат :
8 х 1 = 8
8 х 2 = 16
8 х 3 = 24
.
8 х 10 = 80
8. Напишите программу на Java для отображения следующего шаблона. Перейти к редактору
Образец шаблона:
11. Напишите Java-программу для печати области и периметра круга. Перейти к редактору
Тестовые данные:
Радиус = 7,5
Ожидаемый результат
Периметр = 47.12388980384689
Площадь = 176.71458676442586
12. Напишите программу на Java, которая принимает три числа в качестве входных данных для вычисления и печати среднего числа. Перейти к редактору
Нажмите меня, чтобы увидеть решение
13. Напишите Java-программу для печати площади и периметра прямоугольника. Перейти к редактору
Тестовые данные:
Ширина = 5,5 Высота = 8,5
Ожидаемый результат
Площадь 5,6 * 8,5 = 47,60
Периметр 2 * (5,6 + 8,5) = 28,20
14. Напишите Java-программу для печати американского флага на экране. Перейти к редактору
Ожидаемый результат
15. Напишите программу на Java для замены двух переменных. Перейти к редактору
Нажмите меня, чтобы увидеть решение
16. Напишите программу на Java для печати лица. Перейти к редактору
Ожидаемый результат
17. Напишите программу на Java, чтобы добавить два двоичных числа. Перейти к редактору
Входные данные:
Введите первое двоичное число: 10
Введите второе двоичное число: 11
Ожидаемый результат
18. Напишите программу на Java для умножения двух двоичных чисел. Перейти к редактору
Входные данные:
Введите первое двоичное число: 10
Введите второе двоичное число: 11
Ожидаемый результат
19. Напишите программу на Java для преобразования десятичного числа в двоичное число. Перейти к редактору
Входные данные:
Введите десятичное число: 5
Ожидаемый результат
20. Напишите Java-программу для преобразования десятичного числа в шестнадцатеричное число. Перейти к редактору
Входные данные:
Введите десятичное число: 15
Ожидаемый результат
21. Напишите программу на Java для преобразования десятичного числа в восьмеричное число. Перейти к редактору
Входные данные:
Введите десятичное число: 15
Ожидаемый результат
22. Напишите программу на Java для преобразования двоичного числа в десятичное число. Перейти к редактору
Входные данные:
Введите двоичное число: 100
Ожидаемый результат
23. Напишите программу на Java для преобразования двоичного числа в шестнадцатеричное число. Перейти к редактору
Входные данные:
Введите двоичное число: 1101
Ожидаемый результат
24. Напишите программу на Java для преобразования двоичного числа в восьмеричное число. Перейти к редактору
Входные данные:
Введите двоичное число: 111
Ожидаемый результат
25. Напишите программу на Java для преобразования восьмеричного числа в десятичное число. Перейти к редактору
Входные данные:
Введите любое восьмеричное число: 10
Ожидаемый результат
26. Напишите программу на Java для преобразования восьмеричного числа в двоичное число. Перейти к редактору
Входные данные:
Введите любое восьмеричное число: 7
Ожидаемый результат
27. Напишите программу на Java для преобразования восьмеричного числа в шестнадцатеричное число. Перейти к редактору
Входные данные:
Введите восьмеричное число: 100
Ожидаемый результат
28. Напишите программу на Java для преобразования шестнадцатеричного числа в десятичное число. Перейти к редактору
Входные данные:
Введите шестнадцатеричное число: 25
Ожидаемый результат
29. Напишите программу на Java для преобразования шестнадцатеричного числа в двоичное число. Перейти к редактору
Входные данные:
Введите шестнадцатеричное число: 37
Ожидаемый результат
30. Напишите программу на Java для преобразования шестнадцатеричного числа в восьмеричное число. Перейти к редактору
Входные данные:
Введите шестнадцатеричное число: 40
Ожидаемый результат
31. Напишите программу на Java, чтобы проверить, установлена ли Java на вашем компьютере. Перейти к редактору
Ожидаемый результат
32. Напишите программу на Java для сравнения двух чисел. Перейти к редактору
Входные данные:
Введите первое целое число: 25
Введите второе целое число: 39
Ожидаемый результат
33. Напишите программу на Java и вычислите сумму цифр целого числа. Перейти к редактору
Входные данные:
Введите целое число: 25
Ожидаемый результат
37. Напишите программу на Java для обращения строки. Перейти к редактору
Входные данные:
Введите строку: быстрый коричневый лис
Ожидаемый результат
38. Напишите программу на Java для подсчета букв, пробелов, чисел и других символов входной строки. Перейти к редактору
Ожидаемый результат
39. Напишите программу на Java для создания и отображения уникального трехзначного числа, используя 1, 2, 3, 4. Также подсчитайте, сколько существует трехзначных чисел. Перейти к редактору
Ожидаемый результат
40. Напишите программу на Java, чтобы перечислить доступные наборы символов в объектах charset. Перейти к редактору
Ожидаемый результат
41. Напишите программу на Java для печати значения ascii данного символа. Перейти к редактору
Ожидаемый результат
42. Напишите программу на Java для ввода и отображения вашего пароля. Перейти к редактору
Ожидаемый результат
43. Напишите программу на Java для печати следующей строки в определенном формате (см. Вывод). Перейти к редактору
Пример вывода
44. Напишите программу на Java, которая принимает целое число (n) и вычисляет значение n + nn + nnn. Перейти к редактору
Пример вывода:
45. Напишите программу на Java, чтобы найти размер указанного файла. Перейти к редактору
Пример вывода:
46. Напишите программу на Java для отображения системного времени. Перейти к редактору
Пример вывода:
47. Напишите программу на Java для отображения текущей даты и времени в определенном формате. Перейти к редактору
Пример вывода:
48. Напишите программу на Java для печати нечетных чисел от 1 до 99. Печатает по одному числу в строке. Перейти к редактору
Пример вывода:
49. Напишите программу на Java, которая принимает число и проверяет, является ли число четным или нет. Печатает 1, если число четное, или 0, если число нечетное. Перейти к редактору
Пример вывода:
50. Напишите программу на Java для печати чисел от 1 до 100, которые делятся на 3, 5 и оба. Перейти к редактору
Пример вывода:
51. Напишите программу на Java для преобразования строки в целое число в Java. Перейти к редактору
Пример вывода:
52. Напишите программу на Java для вычисления суммы двух целых чисел и верните true, если сумма равна третьему целому числу. Перейти к редактору
Пример вывода:
53. Напишите программу на Java, которая принимает три целых числа от пользователя и возвращает true, если второе число больше первого числа, а третье число больше второго числа. Если «abc» истинно, второе число не должно быть больше первого числа. Перейти к редактору
Пример вывода:
54. Напишите программу на Java, которая принимает три целых числа от пользователя и возвращает true, если два или более из них (целые числа) имеют одинаковую самую правую цифру. Целые числа неотрицательны. Перейти к редактору
Пример вывода:
55. Напишите программу на Java для преобразования секунд в часы, минуты и секунды. Перейти к редактору
Пример вывода:
56. Напишите программу на Java, чтобы найти число целых чисел в диапазоне двух указанных чисел, которые делятся на другое число. Перейти к редактору
Например, x = 5, y = 20 и p = 3, найдите количество целых чисел в диапазоне x..y, которые делятся на p, т. Е.
Пример вывода:
57. Напишите программу на Java, которая принимает целое число и подсчитывает множители числа. Перейти к редактору
Пример вывода:
58. Напишите программу на Java, которая будет использовать первую букву каждого слова в предложении. Перейти к редактору
Пример вывода:
59. Напишите программу на Java для преобразования заданной строки в строчные. Перейти к редактору
Пример вывода:
60. Напишите программу на Java, чтобы найти предпоследнее (рядом с последним) слово предложения. Перейти к редактору
Пример вывода:
61. Напишите программу на Java, чтобы перевернуть слово. Перейти к редактору
Пример вывода:
62. Напишите программу на Java, которая принимает три целочисленных значения и возвращает true, если одно из них равно 20 или больше и меньше вычитаний других. Перейти к редактору
Пример вывода:
63. Напишите программу на Java, которая принимает два целочисленных значения от пользователя и возвращает большие значения. Однако, если два значения одинаковы, вернуть 0 и вернуть меньшее значение, если два значения имеют одинаковый остаток при делении на 6. Перейти к редактору
Пример вывода:
64. Напишите программу на Java, которая принимает два целых числа от 25 до 75 и возвращает true, если в обоих числах есть общая цифра. Перейти к редактору
Пример вывода:
65. Напишите программу на Java для вычисления модулей двух чисел без использования встроенного оператора модуля. Перейти к редактору
Пример вывода:
66. Напишите программу на Java для вычисления суммы первых 100 простых чисел. Перейти к редактору
Пример вывода:
67. Напишите программу на Java для вставки слова в середину другой строки. Перейти к редактору
Вставить «Учебник» в середине «Python 3.0», поэтому результатом будет Python Tutorial 3.0
Пример вывода:
68. Напишите программу на Java для создания новой строки из 4 копий последних 3 символов исходной строки. Длина исходной строки должна быть от 3 и выше. Перейти к редактору
Пример вывода:
69. Напишите программу на Java для извлечения первой половины строки четной длины. Перейти к редактору
Тестовые данные: Python
Пример вывода:
70. Напишите программу на Java для создания строки в виде short_string + long_string + short_string из двух строк. Строки не должны иметь одинаковую длину. Перейти к редактору
Тестовые данные: Str1 = Python
Str2 = учебник
Пример вывода:
71. Напишите программу на Java для создания объединения двух строк, за исключением удаления первого символа каждой строки. Длина строк должна быть от 1 и выше. Перейти к редактору
Тестовые данные: Str1 = Python
Str2 = учебник
Пример вывода:
72. Напишите программу на Java для создания новой строки, в которой первые три символа взяты из данной строки. Если длина данной строки меньше 3, используйте «#» в качестве заменяющих символов. Перейти к редактору
Тестовые данные: Str1 = «»
Пример вывода:
73. Напишите программу на Java для создания новой строки, содержащей первые и последние символы из двух заданных строк. Если длина одной из строк равна 0, используйте «#» для пропущенного символа. Перейти к редактору
Тестовые данные: str1 = «Python»
str2 = «»
Пример вывода:
78. Напишите программу на Java, чтобы проверить, что данный массив целых чисел длины 2 содержит 4 или 7. Перейти к редактору
Пример вывода:
79. Напишите программу на Java, чтобы вращать массив (длина 3) целых чисел в левом направлении. Перейти к редактору
Пример вывода:
80. Напишите программу на Java, чтобы получить большее значение между первым и последним элементом массива (длина 3) целых чисел. Перейти к редактору
Пример вывода:
81. Напишите программу на Java, чтобы поменять местами первый и последний элементы массива (длина должна быть не менее 1) и создать новый массив. Перейти к редактору
Пример вывода:
82. Напишите программу на Java, чтобы найти самый большой элемент между первым, последним и средним значениями из массива целых чисел (четной длины). Перейти к редактору
Пример вывода:
83. Напишите программу на Java, чтобы умножить соответствующие элементы двух массивов целых чисел. Перейти к редактору
Пример вывода:
84. Напишите программу на Java, которая берет последние три символа из заданной строки и добавляет эти три символа в начале и в конце строки. Длина строки должна быть больше трех и более. Перейти к редактору
Тестовые данные: «Python» будет «honPythonhon»
Пример вывода:
85. Напишите программу на Java, чтобы проверить, начинается ли строка с указанного слова. Перейти к редактору
Пример данных: string1 = «Привет, как дела?»
Пример вывода:
86. Напишите Java-программу, начинающуюся с целого числа n, разделите n на 2, если n четное, или умножьте на 3, и добавьте 1, если n нечетное, повторяйте процесс до n = 1. Перейти к редактору
87. Напишите программу на Java, затем прочитайте целое число, вычислите сумму его цифр и напишите номер каждой цифры суммы на английском языке. Перейти к редактору
88. Напишите программу на Java, чтобы получить текущую системную среду и системные свойства. Перейти к редактору
Нажмите меня, чтобы увидеть решение
89. Напишите программу на Java, чтобы проверить, был ли менеджер безопасности уже установлен для текущего приложения или нет. Перейти к редактору
Нажмите меня, чтобы увидеть решение
90. Напишите программу на Java, чтобы получить значение переменной среды PATH, TEMP, USERNAME. Перейти к редактору
Нажмите меня, чтобы увидеть решение
91. Напишите программу на Java, чтобы измерить, сколько времени занимает выполнение кода в наносекундах. Перейти к редактору
Нажмите меня, чтобы увидеть решение
92. Напишите программу на Java для подсчета количества четных и нечетных элементов в данном массиве целых чисел. Перейти к редактору
Нажмите меня, чтобы увидеть решение
93. Напишите программу на Java, чтобы проверить, содержит ли массив целых чисел элемент 10 рядом с 10 или элемент 20 рядом с 20, но не оба. Перейти к редактору
Нажмите меня, чтобы увидеть решение
94. Напишите программу на Java, чтобы переставить все элементы заданного массива целых чисел так, чтобы все нечетные числа предшествовали всем четным числам. Перейти к редактору
Нажмите меня, чтобы увидеть решение
96. Напишите программу на Java, чтобы проверить, есть ли 10 в данном массиве целых чисел с 20 где-то позже в массиве. Перейти к редактору
Нажмите меня, чтобы увидеть решение
97. Напишите программу на Java, чтобы проверить, содержит ли массив целых чисел заданное число рядом друг с другом или есть два одинаковых заданных числа, разделенных одним элементом. Перейти к редактору
Нажмите меня, чтобы увидеть решение
98. Напишите программу на Java, чтобы проверить, появляется ли значение 20 три раза и нет ли 20 рядом друг с другом в данном массиве целых чисел. Перейти к редактору
Нажмите меня, чтобы увидеть решение
99. Напишите программу на Java, чтобы проверить, присутствует ли указанное число в каждой паре смежных элементов данного массива целых чисел. Перейти к редактору
Нажмите меня, чтобы увидеть решение
100. Напишите программу на Java для подсчета двух элементов, отличающихся на 1 или менее от двух заданных массивов целых чисел одинаковой длины. Перейти к редактору
Нажмите меня, чтобы увидеть решение
101. Напишите программу на Java, чтобы проверить, больше ли число 10, чем число до 20 в данном массиве целых чисел. Перейти к редактору
Нажмите меня, чтобы увидеть решение
102. Напишите программу на Java, чтобы проверить, содержит ли указанный массив целых чисел 10 или 30. Перейти к редактору
Нажмите меня, чтобы увидеть решение
103. Напишите Java-программу для создания нового массива из заданного массива целых чисел, новый массив будет содержать элементы из данного массива после последнего значения элемента 10. Перейти к редактору
Нажмите меня, чтобы увидеть решение
104. Напишите Java-программу для создания нового массива из заданного массива целых чисел, новый массив будет содержать элементы из данного массива до значения последнего элемента 10. Перейти к редактору
Нажмите меня, чтобы увидеть решение
105. Напишите программу на Java, чтобы проверить, совпадают ли группы чисел (l) в начале и конце данного массива. Перейти к редактору
Нажмите меня, чтобы увидеть решение
106. Напишите программу на Java для создания нового массива, смещенного влево от заданного массива целых чисел. Перейти к редактору
Нажмите меня, чтобы увидеть решение
107. Напишите программу на Java, чтобы проверить, содержит ли массив целых трех возрастающих смежных чисел. Перейти к редактору
Нажмите меня, чтобы увидеть решение
108. Напишите программу на Java для добавления всех цифр заданного положительного целого числа, пока результат не будет иметь одну цифру. Перейти к редактору
Нажмите меня, чтобы увидеть решение
109. Напишите программу на Java, чтобы сформировать лестничную форму из n монет, где каждая k-я строка должна иметь ровно k монет. Перейти к редактору
Нажмите меня, чтобы увидеть решение
110. Напишите программу на Java, чтобы проверить, является ли данное целое число степенью 4 или нет. Перейти к редактору
Если задано num = 64, верните true. Если задано num = 6, вернуть false.
Нажмите меня, чтобы увидеть решение
111. Напишите программу на Java для добавления двух чисел без использования арифметических операторов. Перейти к редактору
Учитывая х = 10 и у = 12; результат = 22
Нажмите меня, чтобы увидеть решение
112. Напишите Java-программу для вычисления числа конечных нулей в факториале. Перейти к редактору
7! = 5040, поэтому на выходе должно быть 1
Нажмите меня, чтобы увидеть решение
113. Напишите программу на Java для объединения двух заданных отсортированных массивов целых чисел и создания нового отсортированного массива. Перейти к редактору
массив1 = [1,2,3,4]
массив2 = [2,5,7, 8]
результат = [1,2,2,3,4,5,7,8]
Нажмите меня, чтобы увидеть решение
114. Напишите Java-программу с заданной строкой и смещением, поверните строку по смещению (поверните слева направо). Перейти к редактору
Нажмите меня, чтобы увидеть решение
116. Напишите программу на Java, которая перебирает целые числа от 1 до 100. Для кратных трех выведите «Fizz» вместо числа и напечатайте «Buzz» для кратных пяти. Когда число делится на три и пять, выведите «fizz buzz». Перейти к редактору
Нажмите меня, чтобы увидеть решение
117. Напишите программу на Java для вычисления квадратного корня заданного целого числа. Перейти к редактору
Введите положительное целое число: 25
Квадратный корень из 25: 5
Нажмите меня, чтобы увидеть решение
118. Напишите программу на Java, чтобы получить первое вхождение (позиция начинается с 0.) строки в данной строке. Перейти к редактору
Нажмите меня, чтобы увидеть решение
119. Напишите программу на Java, чтобы получить первое вхождение (позиция начинается с 0.) элемента данного массива. Перейти к редактору
Нажмите меня, чтобы увидеть решение
120. Напишите программу на Java, которая ищет значение в матрице mxn. Перейти к редактору
Нажмите меня, чтобы увидеть решение
123. Напишите программу на Java, чтобы найти подмассив с наименьшей суммой из заданного массива целых чисел. Перейти к редактору
Нажмите меня, чтобы увидеть решение
125. Напишите программу на Java, чтобы получить предварительный обход значений ее узлов заданного двоичного дерева. Перейти к редактору
Пример:
Ожидаемый результат: 10 20 40 50 30
Нажмите меня, чтобы увидеть решение
126. Напишите Java-программу для получения обхода значений ее узлов заданного двоичного дерева. Перейти к редактору
Пример: <10, 20, 30, 40, 50>
Выход: 40 20 50 10 30
Нажмите меня, чтобы увидеть решение
127. Напишите Java-программу для получения обхода Postorder значений его узлов заданного двоичного дерева. Перейти к редактору
Нажмите меня, чтобы увидеть решение
128. Напишите программу на Java для вычисления медианы заданного несортированного массива целых чисел. Перейти к редактору
Пример: <10,2,38,23,38,23,21>
Выход: 23
Нажмите меня, чтобы увидеть решение
129. Напишите программу на Java, чтобы найти число, которое встречается только один раз в данном массиве целых чисел, все числа встречаются дважды. Перейти к редактору
Source Array: [10, 20, 10, 20, 30, 40, 40, 30, 50] 50 появляется только один раз
Нажмите меня, чтобы увидеть решение
130. Напишите программу на Java, чтобы найти максимальную глубину заданного двоичного дерева. Перейти к редактору
Пример вывода: Максимальная глубина двоичного дерева: 3
Нажмите меня, чтобы увидеть решение
131. Напишите программу на Java, чтобы найти новую длину заданного отсортированного массива, в котором каждый элемент появляется только один раз (удалите дубликаты). Перейти к редактору
Исходный массив: [1, 1, 2, 3, 3, 3, 4, 5, 6, 7, 7] Длина исходного массива: 11. После удаления дубликатов новая длина массива: 7
Нажмите меня, чтобы увидеть решение
132. Напишите программу на Java, чтобы найти новую длину заданного отсортированного массива, в котором дублирующиеся элементы появлялись не более двух раз. Перейти к редактору
Исходный массив: [1, 1, 2, 3, 3, 3, 4, 5, 6, 7, 7, 7, 7]
Длина исходного массива: 13
После удаления дубликатов новая длина массива: 10
Нажмите меня, чтобы увидеть решение
133. Напишите программу на Java, чтобы найти путь сверху вниз в правом направлении, который минимизирует сумму всех чисел вдоль ее пути. Перейти к редактору
Примечание: двигайтесь вниз или вправо в любой момент времени.
Пример вывода: сумма всех чисел по пути: 13
Нажмите меня, чтобы увидеть решение
134. Напишите программу на Java, чтобы найти отличные способы подняться на вершину (n шагов, чтобы добраться до вершины) лестницы. Каждый раз вы можете подняться на 1 или 2 шага. Перейти к редактору
Пример: n = 5
а) 1 + 1 + 1 + 1 + 1 = 5 б) 1 + 1 + 1 + 2 = 5 в) 1 + 2 + 2 = 5 д) 2 + 2 + 1 = 5 д) 2 + 1 + 1 + 1 = 5 е) 2 + 1 + 2 = 5 г) 1 + 2 + 1 + 1 = 5 ч) 1 + 1 + 2 + 1 = 5
Пример вывода: Различными способами вы можете подняться на вершину: 8
Нажмите меня, чтобы увидеть решение
135. Напишите Java-программу для удаления дубликатов из отсортированного связанного списка. Перейти к редактору
Исходный список с дублирующимися элементами:
12-> 12-> 13-> 14-> 15-> 15-> 16-> 17-> 17
После удаления дубликатов из указанного списка:
12-> 13-> 14-> 15-> 16-> 17
Нажмите меня, чтобы увидеть решение
136. Напишите программу на Java, чтобы найти возможные уникальные пути от верхнего левого угла до правого нижнего угла данной сетки (mxn). Перейти к редактору
Примечание: вы можете двигаться вниз или вправо в любой момент времени.
Пример вывода: Уникальные пути из левого верхнего угла в правый нижний угол указанной сетки: 3
Нажмите меня, чтобы увидеть решение
137. Напишите программу на Java, чтобы найти возможные уникальные пути, учитывающие некоторые препятствия, от верхнего левого угла до правого нижнего угла данной сетки (mxn). Перейти к редактору
Примечание: Вы можете двигаться вниз или вправо в любой момент времени, и препятствие и пустое пространство помечаются как 1 и 0 соответственно в сетке.
Пример сетки:
int [] [] tactcle_Grid = <
<0, 0, 0>,
<0, 1, 0>,
<0, 0, 0>,
>;
Пример вывода: Уникальные пути из верхнего левого угла в правый нижний угол указанной сетки (с учетом некоторых препятствий): 2
Нажмите меня, чтобы увидеть решение
138. Напишите программу на Java, чтобы найти все самое длинное слово в данном словаре. Перейти к редактору
Пример-1:
<
«кошка»,
«флаг»,
«Зеленый»,
«страна»,
«W3resource»
>
Результат: «w3resource»
Пример-2:
<
«кошка»,
«собака»,
«Красный»,
«является»,
«Я»
>
Результат: «кот», «собака», «рыжий»
Нажмите меня, чтобы увидеть решение
140. Напишите программу на Java для объединения всех перекрывающихся интервалов из заданного набора интервалов. Перейти к редактору
Пример вывода: 1 6
8 10
15 20
Нажмите меня, чтобы увидеть решение
141. Напишите программу на Java, чтобы проверить, содержит ли данная строка все уникальные символы. Перейти к редактору
Пример вывода: Исходная строка: xyyz
В строке есть все уникальные символы: false
Нажмите меня, чтобы увидеть решение
143. Напишите программу на Java для объединения двух заданных отсортированных списков. Перейти к редактору
Пример вывода:
Объединить два отсортированных списка T:
1 2 3 7 9 13 40
Нажмите меня, чтобы увидеть решение
144. Напишите программу на Java, чтобы удалить все вхождения указанного значения в заданном массиве целых чисел и вернуть новую длину массива. Перейти к редактору
Пример вывода:
Исходный массив: [1, 4, 6, 7, 6, 2]
Длина нового массива: 4
Нажмите меня, чтобы увидеть решение
145. Напишите Java-программу для удаления n-го элемента из конца данного списка. Перейти к редактору
Пример вывода:
Исходный узел:
1 2 3 4 5
После удаления 2-го элемента с конца:
1 2 3 5
Нажмите меня, чтобы увидеть решение
146. Напишите программу на Java для преобразования отсортированного массива в двоичное дерево поиска. Поддерживать минимальную высоту дерева. Перейти к редактору
Пример вывода:
2
1
4
6
5
3
Нажмите меня, чтобы увидеть решение
147. Напишите программу на Java, чтобы найти число битов, необходимое для переворачивания, чтобы преобразовать два заданных целых числа. Перейти к редактору
Пример вывода:
2
Нажмите меня, чтобы увидеть решение
148. Напишите программу на Java, чтобы найти индекс первого уникального символа в данной строке, предположим, что в строке есть хотя бы один уникальный символ. Перейти к редактору
Пример вывода:
Исходная строка: ресурс
Первый уникальный персонаж из вышеперечисленного: 0
Нажмите меня, чтобы увидеть решение
149. Напишите программу на Java, чтобы проверить, является ли данная строка перестановкой другой данной строки. Перейти к редактору
Пример вывода:
Оригинальные строки: xxyz yxzx
правда
Нажмите меня, чтобы увидеть решение
150. Напишите программу на Java, чтобы проверить, является ли двоичное дерево поддеревом другого двоичного дерева. Перейти к редактору
Пример вывода:
Оригинальные строки: xxyz yxzx
правда
Нажмите меня, чтобы увидеть решение
Редактор кода Java:
Не отправляйте решение вышеупомянутых упражнений здесь, если вы хотите внести вклад, перейдите на соответствующую страницу упражнения.