Ques/Help/Req Задачи по Java для начинающих

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
Собрали для вас практические задачи по программированию Java для начинающих разработчиков с примерами решений. Это простые задачи с собеседований Java, которые позволят попрактиковаться или самостоятельно подготовиться к интервью.

Задача 1​


Напишите программу, которая выводит на экран числа от 1 до 10.

Вариант решения

Самый простой вариант решения этой Java-задачи — использовать цикл for:

public class NumbersFromOneToTen { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { System.out.print(i + » «); } } }

Задача 2​


Напишите программу, которая находит сумму всех чисел от 1 до 100.

Вариант решения

В данном случае также вполне достаточно рассчитать сумму в цикле for:

public class SumOfNumbers { public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } System.out.println(«Сумма чисел от 1 до 100: » + sum); } }

Задача 3​


Найдите факториал заданного числа.

Вариант решения

Факториал числа — это произведение всех натуральных чисел от 1 до заданного числа. Например, факториал числа 5 равен 5 * 4 * 3 * 2 * 1 = 120.

В Java программу для нахождения факториала заданного числа можно написать с помощью цикла for или рекурсии. Ниже приведен пример программы с использованием цикла for:

public class FactorialCalculator { public static void main(String[] args) { int number = 5; // Заданное число, для которого мы хотим найти факториал int factorial = 1; // Изначально присваиваем факториалу значение 1 // Используем цикл for для нахождения факториала for (int i = 1; i <= number; i++) { factorial *= i; // Умножаем текущее значение факториала на текущее значение i } // Выводим результат System.out.println(«Факториал числа » + number + » равен » + factorial); } }

Запустив эту программу, вы получите вывод:

Факториал числа 5 равен 120

Обратите внимание, что для больших значений number, факториал может стать очень большим числом, превышающим максимальное значение типа данных. В таких случаях лучше использовать типы данных с большим диапазоном, такие как long или BigInteger.

Задача 4​


Напишите проверку, является ли заданное число простым.

Вариант решения

Почему-то с этой задачей по Java у многих начинающих разработчиков на собеседованиях возникают проблемы. На самом деле, решение этой Java-задачи максимально простое:

public class PrimeNumberCheck { public static void main(String[] args) { int number = 17; boolean isPrime = true; for (int i = 2; i <= Math.sqrt(number); i++) { if (number % i == 0) { isPrime = false; break; } } System.out.println(number + » является простым числом: » + isPrime); } }

Задачи по Java для начинающих0
Программирование на Java с нуля: дорожная карта разработчика

tproger.ru


Задача 5​


Отсортируйте массив по значению в порядке возрастания и убывания.

Вариант решения

Для сортировки массива по значению в порядке возрастания и убывания в Java можно использовать методы сортировки, доступные в Java Arrays классе. Для сортировки по возрастанию используется метод Arrays.sort(), а для сортировки по убыванию можно воспользоваться классом Comparator и методом Arrays.sort():

import java.util.Arrays; import java.util.Comparator; public class ArraySorting { public static void main(String[] args) { int[] array = {5, 2, 8, 1, 3}; // Сортировка массива по возрастанию Arrays.sort(array); System.out.println(«Массив, отсортированный по возрастанию:»); for (int num : array) { System.out.print(num + » «); } // Сортировка массива по убыванию Integer[] boxedArray = Arrays.stream(array).boxed().toArray(Integer[]::new); Arrays.sort(boxedArray, Comparator.reverseOrder()); System.out.println(«nМассив, отсортированный по убыванию:»); for (int num : boxedArray) { System.out.print(num + » «); } } }

Задача 6​


Напишите на Java простой код, который переводит целое число в строку, при том что его можно применить в любой системе счисления.

Вариант решения

Решить эту простую задачу Java не составит труда. Для перевода целого числа в строку в любой системе счисления, можно воспользоваться методом Integer.toString() или Long.toString(), которые позволяют задать основание системы счисления вторым аргументом:

public class NumberToStringConverter { public static void main(String[] args) { int number = 123; int base = 16; // Задаем систему счисления (например, 16 для шестнадцатеричной) String numberAsString = convertToString(number, base); System.out.println(number + » в системе счисления » + base + «: » + numberAsString); } public static String convertToString(int number, int base) { return Integer.toString(number, base); } }

Задача 7​


Напишите программу, которая инвертирует массив (меняет порядок элементов на противоположный).

Вариант решения public class ArrayReverse { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; int temp; int length = array.length; for (int i = 0; i < length / 2; i++) { temp = array; array = array[length — i — 1]; array[length — i — 1] = temp; } System.out.print(«Инвертированный массив: «); for (int element : array) { System.out.print(element + » «); } } }

Задача 8​


Отсортируйте словарь по значению в порядке возрастания и убывания. Объясните решение.

Вариант решения

Да, эта практическая задача по Java похожа на задачу пятую. Однако!

Для сортировки словаря (Map) по значению в порядке возрастания и убывания в Java можно использовать интерфейс Comparator и методы сортировки, доступные в Java Collections Framework. Для этого нужно представить словарь в виде списка пар «ключ-значение» и затем отсортировать этот список на основе значений. Предположим, у нас есть словарь Map<String, Integer> с именами и их возрастами:

import java.util.*; public class DictionarySorting { public static void main(String[] args) { // Создаем и заполняем словарь имен и возрастов Map<String, Integer> dictionary = new HashMap<>(); dictionary.put(«Анна», 25); dictionary.put(«Петр», 32); dictionary.put(«Мария», 18); dictionary.put(«Иван», 40); dictionary.put(«Елена», 28); // Сортировка словаря по значению (возрастанию) List<Map.Entry<String, Integer>> sortedAscending = new ArrayList<>(dictionary.entrySet()); Collections.sort(sortedAscending, new Comparator<Map.Entry<String, Integer>>() { @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return o1.getValue().compareTo(o2.getValue()); } }); // Вывод отсортированного словаря (по возрастанию) System.out.println(«Словарь, отсортированный по возрастанию:»); for (Map.Entry<String, Integer> entry : sortedAscending) { System.out.println(entry.getKey() + «: » + entry.getValue()); } // Сортировка словаря по значению (убыванию) List<Map.Entry<String, Integer>> sortedDescending = new ArrayList<>(dictionary.entrySet()); Collections.sort(sortedDescending, new Comparator<Map.Entry<String, Integer>>() { @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return o2.getValue().compareTo(o1.getValue()); } }); // Вывод отсортированного словаря (по убыванию) System.out.println(«nСловарь, отсортированный по убыванию:»); for (Map.Entry<String, Integer> entry : sortedDescending) { System.out.println(entry.getKey() + «: » + entry.getValue()); } } }


Надеемся, вам понравилась подборка задач по Java. Пишите свои варианты решения, а также задачи, которые попадались на собеседованиях вам.

Также рекомендуем порешать задачи по Python и JavaScript.
 
198 237Темы
635 209Сообщения
3 618 425Пользователи
Pandar96Новый пользователь
Верх