Java Ready | Программирование
8.88K subscribers
1.22K photos
61 videos
1 file
600 links
Авторский канал по разработке на Java.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
👩‍💻 Многие об этом не знают или почти не используют!

В Java можно автоматически закрывать файлы, потоки и другие ресурсы, не вызывая close() вручную.

try (FileReader fr = new FileReader("data.txt")) {
System.out.println((char) fr.read());
}


Если внутри блока произойдёт исключение — поток всё равно корректно закроется.

Чтобы использовать несколько ресурсов, просто перечисли их через точку с запятой:
try (
FileReader fr = new FileReader("data.txt");
BufferedReader br = new BufferedReader(fr)
) {
System.out.println(br.readLine());
}


🔥 И всё это без finally и без ручного close(). Главное — чтобы класс ресурса реализовывал интерфейс AutoCloseable.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4🔥4
👩‍💻 Разбираем Stack — базовую структуру данных с принципом LIFO!

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

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥139👍3
Удаление лишних пробелов из текста!

Иногда текст содержит лишние пробелы — между словами, в начале или конце. Это мешает при валидации, сравнении и сохранении данных.

Удаляем пробелы по краям:
String text = "   Привет,   мир!   ";
System.out.println(text.strip()); // "Привет, мир!"


Заменяем множественные пробелы одним:
String clean = text.strip().replaceAll("\\s+", " ");
System.out.println(clean); // "Привет, мир!"


Можно очистить пользовательский ввод перед обработкой:
var input = "   Java     Ready   ";
var normalized = input.strip().replaceAll("\\s+", " ");
System.out.println(normalized); // "Java Ready"


🔥 Простой способ привести строки к единому виду.
Идеально для логов, поиска, хранения и обработки пользовательского текста.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥4
👩‍💻 Определяем, из JAR или из IDE запущено приложение!

Программа проверяет: это файл .jar или каталог classes. Если путь указывает на обычный файл с расширением .jar, считаем, что запуск из JAR, в противном случае — из IDE.

В этой задаче:
Получаем путь;

Проверяем тип источника;

Печатаем режим запуска и путь.


Полезно если важно изменить логику программы в зависимости от того как она запущена.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥5👍4
Форматирование даты — выводим время в нужном формате!

Java умеет гибко форматировать дату и время без сторонних библиотек. Можно выбрать шаблон под любой стиль: от короткой даты до полного времени.

Получаем текущую дату и время:
var now = java.time.LocalDateTime.now();


Форматируем под привычный вид:
var fmt = java.time.format.DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
System.out.println(now.format(fmt)); // 14.10.2025 19:48:21


Выводим только дату или время:
var dateFmt = java.time.format.DateTimeFormatter.ofPattern("dd-MM-yyyy");
var timeFmt = java.time.format.DateTimeFormatter.ofPattern("HH:mm");

System.out.println(now.format(dateFmt));
// 14-10-2025
System.out.println(now.format(timeFmt));
// 19:48


🔥 Можно использовать любые комбинации шаблонов и легко подстраивается под часовой пояс.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4🔥3
👩‍💻 Сравниваем две директории!

Нужно быстро понять различия между папками? Делаем это на чистой Java: обходим каталоги, сравниваем множества путей, затем проверяем содержимое общих файлов.

В этом посте:
Соберём относительные пути;

Выведем различия;

Определим изменённые файлы по содержимому.


Такой мини-инструмент полезен для CI/CD, синхронизаций и миграций — без сторонних библиотек и сложных настроек.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥116👍3🤝1
В Java есть два похожих метода для удаления пробелов по краям строки — trim() и strip()

Но между ними есть важная разница, особенно при работе с Unicode.

Метод trim() убирает только пробелы с кодами меньше 32 (ASCII).

А strip() — современный вариант, который корректно удаляет все виды пробелов, включая неразрывные и Unicode-разделители:
String text = "\u2003 Java Ready! \u2003";

System.out.println("До: [" + text + "]");

System.out.println("trim(): [" + text.trim() + "]");

System.out.println("strip(): [" + text.strip() + "]");


🔥 Результат покажет, что trim() оставляет «невидимые» символы, а strip() очищает строку полностью.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍7🔥3
👩‍💻 Реализуем логику банкомата!

Программа рассчитывает, какими купюрами можно выдать нужную сумму. Алгоритм идёт от крупных номиналов к меньшим, чтобы использовать минимальное количество банкнот.

В этой задаче:
Задаём сумму и список доступных купюр;

Перебираем номиналы от большего к меньшему;

Вычисляем количество купюр каждого типа.


Простой способ реализовать расчёт купюр в банкомате без циклов в цикле и сторонних библиотек.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥10👍7