Задания по программированию на java
Список задач по Java для начинающих
Если вы начинающий Java программист то вам обязательно нужно ознакомится и выполнить все задания из этого списка.
Условные операторы
1. Найти наибольшее значение из двух переменных, трех, четырех, описать общий принцип для большего числа
2. Если а – четное посчитать а*б , иначе а+б
3. Определить какой четверти принадлежит точка с координатами (х,у)
4. Найти суммы только положительных из трех чисел
5. Посчитать выражение макс(а*б*с, а+б+с)+3
6. Есть два конверта со сторонами (а,б) и (с,д) определить, можно ли один конверт вложить в другой
7. Отсортировать значения двух, трех, четырех переменных используя только условные операторы
8. Написать программу определения оценки студента по его рейтингу, на основе следующих правил:
рейтинг Оценка
0-19 F
20-39 E
40-59 D
60-74 C
75-89 B
90-100 A
9. Проанализируйте следующий фрагмент кода. Какой результат будет при a =2 и b= 4 ?
Путем минимальных изменений модифицируйте код таким образом, чтобы на экране было напечатано
134 (при a =2 и b= 4)
4 (при a =2 и b= 44)
14 (при a =2 и b= 4)
1 (при a =2 и b= 4)
Циклы
1. найти сумму четных чисел и их количество в диапазоне от 1 до 99
2. Проверить простое ли число? (число называется простым, если оно делится только само на себя и на 1)
3. Вывести на экран квадрат, со стороной а
4. Вывести шахматную доску с заданными размерами, по принципу:
5. Напишите программу, которая определяет, является ли введенное число палиндромом? (Палиндром – число или текст, которые одинаково читаются слева направо и справа налево)
6. Вывести все простые числа в диапазоне от 2 до n
7. Вывести все натуральные числа, квадрат которых больше меньше заданного числа n
8. Вывести все делители числа
9. Найти корень натурального числа с точностью до целого (рассмотреть переборный вариант, и метод бинарного поиска)
10. Теорема Пифагора: вывести все прямоугольные треугольники, стороны которых – натуральные числа меньше 1000, посчитать их количество(по теореме Пифагора у прямоугольного треугольника сумма квадратов катетов равна квадрату гипотенузы). Подсказка: использовать полный перебор с трижды вложенными циклами.
11. Вычислить факториал числа n. n! = 1*2*…*n-1*n;
12. Вычислить среднее значение чисел, не являющихся простыми, в диапазоне от 1 до n.
13. Посчитать сумму цифр заданного числа
14. Вывести число, которое является зеркальным отображением последовательности цифр заданного числа, например, задано число 123, вывести 321.
15. Вставить цифру в число не прибегая к строковым преобразованиям.
Одномерные массивы
- Найти минимальный элемент массива
- Найти индекс максимального элемента массива
- Посчитать сумму элементов массива с нечетными индексами
- Найти наиболее часто встречающееся значение
- Сделать реверс массива (массив в обратном направлении)
- Найти все элементы, которые меньше среднего значения
- Обработать массив таким образом, чтобы сначала были элементы меньше среднего, потом больше
- Проверить является ли массив палиндромом?
- Посчитать количество нечетных элементов массива
- Найти все элементы массива, для которых делителем является хотя бы один из элементов массива.
- Поменять местами первую и вторую половину массива, например, для массива 1 2 3 4, результат 3 4 1 2
- Вывести элементы массива в следующем порядке: первый, последний, второй, предпоследний и т.д. Какие особые случаи необходимо обработать?
- Вывести элементы массива в следующем порядке: первый, средний, второй, средний + 1 и т.д.
- Заполнить массив из 100 элементов числами по следующей формуле Ai = (Ai-1*d)%m (A0,d,m – произвольные константы
- Отсортировать массив (пузырьком, выбором, вставками)
- Заполнить массив из 3*n элементов числами от 1 до n. Создать массив из n элементов, каждый из которых будет содержать количество вхождений (частоту) чисел от 1 до n в исходном массиве.
Функции
- Написать функцию, которая будет возвращать номер четверти, в которой находится точка с координатами (x,y). (координаты – аргументы функции)
- Написать функцию, которая возвращает факториал числа N (аргумент функции)
- Написать функцию, которая возвращает строковое название дня недели по номеру дня.
- Написать программу, которая выведет число N (от 0 до 1000), написанное прописью.
- Написать функцию, которая находит расстояние между двумя точками в двумерном декартовом пространстве.
- Написать функцию, которая возвратит строковое представление числа N(dec) в двоичном, шестнадцатеричном форматах.
- Написать, функцию, которая вернет число по строке с записью числа в двоичной форме.
Рекурсия
- Написать функцию рекурсивного расчета факториала числа.
N! = N * (N-1)!
Написать рекурсивную функцию расчета чисел Фибоначчи. Числа Фибоначчи рассчитываются по формуле:
F(i) = F(i-1) + F(i-2), F(0) = 1, F(1) = 1.
Построить диаграмму вызовов функции F.
Написать рекурсивную функцию, которая вычисляет a^n , где a,n – целые числа. (Подсказка: a^2n = (a^n)^2
Большая подборка полезных практических и обучающих материалов по Java
Большая подборка полезных практических и обучающих материалов по Java
- Подборки , 23 февраля 2016 в 12:41
- Пётр Соковых
Java — язык программирования, который очень строго соответствует принципам объектно-ориентированного программирования. В этой статье вы найдете несколько полезных материалов, с которых стоит начать знакомство с языком.
Для начинающих
- Отличная статья, в которой описано, как стоит подходить к изучению Java. После прочтения стоит заглянуть и в другие разделы сайта Skipy.ru, это уже будет полезно не только начинающим.
- Study-Java — сайт, полностью состоящий из туториалов по Java, которые подскажут вам, в каком направлении стоит идти и какие навыки нужно вырабатывать в первую очередь.
- Курс по основам языка Java.
- Обширное руководство по многим темам с примерами кода.
- Базовый курс по Java на ресурсе Stepik.
- Более 350 вопросов с ответами для подготовки к интервью на позицию Junior Java Developer.
- Наша подборка материалов для изучения языка Java.
- Подборка полезных советов от Наньянского технологического университета — там есть аналогичные материалы и по другим темам.
Форумы, на которых вы можете задать возникшие вопросы:
Для продвинутых
- Раздел Java на developer.com собрал в себе руководства как по целым пластам языка, вроде Enterprise Edition, так и разъяснения отдельных нюансов, вроде новомодных лямбда-выражений. Вот, например, статья, прочитав которую, вы разберётесь с тем, что такое аннотации, зачем они нужны и как правильно их использовать.
- На сайте Tutorials Point есть раздел с исчерпывающим количеством туториалов по Java. Также там есть отдельный раздел для Java 8.
- Java2S — коллекция примеров на все случаи жизни. Примечательно, что здесь есть не только чистая Java, но и работа с разными библиотеками, например JUnit. Хорошо описаны и нововведения Java 8 — Date-Time API, лямбды, потоки (streams).
- Oskar Veerhoek — канал на YouTube, посвящённый OpenGL. Если вы собираетесь связать свою жизнь с программированием, маловероятно, что вам никогда не придётся работать с графикой. В течение курса из 41 видео автор расскажет вам, как работать с OpenGL в Java. Курс начинается с самых основ и написания 2D Minecraft’а, а заканчивается шейдерами, освещением и созданием 3D комнаты.
Для всех
- Java-Tips — сборник готовых рецептов, шпаргалок, туториалов и полезных библиотек… Сайт будет незаменим для любого Java-программиста, особенно если вы только начинаете изучать язык. Отдельное спасибо стоит сказать тому, кто сортировал это всё — вам не составит труда найти здесь то, что вам нужно. Присутствуют материалы как по Java SE, так и по Enterprise и Micro версиям.
- Регулярно обновляемый список вопросов и ответов.
- Примеры решённых практических задач.
- Структурированный справочник по языку.
- Подробное руководство с примерами по каждой теме.
- Обучающий материал от w3resource.
- Подборка различных материалов для изучения языка.
- Учебное пособие от Oracle, создателей языка.
- Помните, что официальная документация — это источник самой достоверной и качественной информации.
- Напоминаем, что на нашем сайте тоже есть порядочное количество статей по этому языку.
Практика
- Бесплатные задачи, отсортированные по категориям на Codingbat;
- Cписок задач от автора блога eax.me;
- Олимпиадные задачи с ACMP;
- Олимпиадные задачи с Codeforces;
- Задачи с ответами на Codewars.
Полезные библиотеки
- JUnit
Любой код должен сопровождаться тестированием. Многие очень напрасно об этом забывают. Эта библиотека предназначена для автоматизации модульного тестирования. Еще несколько инструментов для тестирования в Java, вы найдете в нашей подборке. - HttpClient
Библиотека для работы с HTTP ресурсами. - CommonsLang
То, что «забыли» включить в JDK. - CommonsMath
Отличное дополнение к java.math . - CommonsLogging
Если вы используете для логирования System.out.println() , товам стоит отрубить себе руклучше воспользуйтесь этой библиотекой, так будет правильнее. - CommonsNet
Логическое продолжение java.net , множество классов для работы с сетевыми протоколами. - CommonsVFS
Библиотека, которая поможет вам абстрагироваться от способа хранения файлов — вы сможете достаточно обобщённо иметь к ним доступ по FTP, SFTP, WEBDAV, (G)ZIP и т.д. - CommonsIO
С ней работать с вводом-выводом станет значительно проще.
Java 9
О том, какие изменения появились в Java 9, читайте в нашем обзоре с примерами.
Статьи
- Подробный гайд по Java 9;
- Знакомство с Project Jigsaw;
- Java 9 Stream API: введение и материал по коллекторам;
- Java 9 Process API;
- Улучшения в Java Time (JSR-310);
- Конкурентность;
- Новое в Optional;
- Разбираемся с Stack-Walking API;
- Коллекции;
- «Applying @Deprecated Enhancements»;
- Используем sun.misc.Unsafe ;
- Variable Handles;
- Рефлексия vs Инкапсуляция;
- Создание multi-release JAR-файлов при помощи Maven: о формате JAR, и о формате JAR с использованием Maven;
- Ограничения памяти и Docker;
- Введение в JShell.
Больше статей можно найти на этом сайте.
Блоги
- Oracle (нет тега Java 9);
- SitePoint;
- Voxxed (выделим отличный цикл);
- Baeldung;
- Iteratr Learning (нет тега Java 9);
- CodeFX;
- Joda.
Книги и курсы
- Курс «Java 9 Modularity: First Look»;
- Книга «Java 9 Modularity»;
- Книга «Mastering Java 9»;
- Книга «Modular Programming in Java 9»;
- Книга «Java 9 with JShell»;
- Книга «Java 9 Module System».
В комментариях пишите, какие ресурсы были полезны для вас при изучении Java, самое интересное добавим в статью.