Проверяем, какие пятницы ещё будут до 31 декабря. Полезно для планирования встреч, дедлайнов или просто как мини-календарь.
В этой задаче:
• Получаем текущую дату и конец года;
• Идём по всем дням, начиная с текущего;
• Проверяем, выпадает ли день на пятницу.
Простой пример работы, но который хорошо показывает возможности с
java.time.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤5👍5
Быстрое сравнение файлов в Java!
Многие всё ещё сравнивают файлы вручную, построчно или побайтно. Но Java уже умеет это сама.
Проверяем два файла:
Сравниваем содержимое:
Анализируем результат:
🔥
или -1, если файлы полностью идентичны. Удобно для тестов, бэкапов и проверки целостности.
👉 Java Ready | #совет
Многие всё ещё сравнивают файлы вручную, построчно или побайтно. Но Java уже умеет это сама.
Проверяем два файла:
Path a = Path.of("file1.txt");
Path b = Path.of("file2.txt");Сравниваем содержимое:
long diff = Files.mismatch(a, b);
Анализируем результат:
if (diff == -1)
System.out.println("✅ Файлы совпадают");
else
System.out.println("⚠️ Различие на позиции: " + diff);
mismatch() возвращает позицию первого отличияили -1, если файлы полностью идентичны. Удобно для тестов, бэкапов и проверки целостности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤5🔥5
Когда несколько потоков хотят работать с одним объектом, а нужно допустить лишь часть — Semaphore становится фильтром, регулирующим параллельность. Он решает проблему перегрузок и защищает общий ресурс от одновременного использования.
Так можно реализовать очереди, ограничить подключения к серверу или синхронизировать операции без явных блокировок. Простая идея, которая даёт полный контроль над потоками и делает систему стабильнее.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍5❤4
Проверка пароля на надёжность!
Надёжный пароль должен содержать буквы разного регистра, цифры и спецсимволы. Java позволяет проверить это с помощью методов
Сохраняем пароль для проверки:
Проверяем наличие нужных символов:
Оцениваем надёжность и выводим результат:
🔥 Простой способ быстро проверить ввод перед регистрацией или сохранением.
👉 Java Ready | #практика
Надёжный пароль должен содержать буквы разного регистра, цифры и спецсимволы. Java позволяет проверить это с помощью методов
matches() и простых условий.Сохраняем пароль для проверки:
String pwd = "MyPass123!";
Проверяем наличие нужных символов:
boolean hasUpper = pwd.matches(".*[A-Z].*");
boolean hasLower = pwd.matches(".*[a-z].*");
boolean hasDigit = pwd.matches(".*\\d.*");
boolean hasSpec = pwd.matches(".*[!@#$%^&*()].*");Оцениваем надёжность и выводим результат:
if (pwd.length() >= 8 && hasUpper && hasLower && hasDigit && hasSpec)
System.out.println("Пароль надёжный");
else
System.out.println("Пароль слабый");
🔥 Простой способ быстро проверить ввод перед регистрацией или сохранением.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤5👍4
Программа проходит по строке, считает, сколько раз подряд встречается каждый символ, и формирует новую строку с парами "символ-количество".
В этой задаче:
• Перебираем символы строки;
• Подсчитываем повторы подряд;
• Формируем новый результат;
Задача учит работать с базовыми циклами и даёт понимание работы примитивного сжатия текстов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍4🤝1
Программа проходит по строке, считает, сколько раз подряд встречается каждый символ, и формирует новую строку с парами "символ-количество".
В этом посте:
• Перебираем символы строки;
• Подсчитываем повторы подряд;
• Формируем новый результат;
Задача учит работать с базовыми циклами и даёт понимание работы примитивного сжатия текстов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍7❤4🤝1
Рендерим страницы в PNG из PDF!
Иногда нужно превратить документ в набор картинок. Java справляется с этим с библиотекой
Подключаем зависимость (
Открываем
Рендерим первую страницу с нужным
Проходим по всем страницам и сохраняем каждую в отдельный файл:
🔥 Подходит для генерации обложек, поиска по миниатюрам и веб-превью.
👉 Java Ready | #практика
Иногда нужно превратить документ в набор картинок. Java справляется с этим с библиотекой
PDFBox которая рендерит страницы в BufferedImage.Подключаем зависимость (
Gradle) для рендера PDF в изображения:implementation "org.apache.pdfbox:pdfbox:3.0.2"
Открываем
PDF и создаём рендерер для страниц:var pdf = org.apache.pdfbox.pdmodel.PDDocument.load(java.nio.file.Files.readAllBytes(
java.nio.file.Path.of("input.pdf")));
var renderer = new org.apache.pdfbox.rendering.PDFRenderer(pdf);
Рендерим первую страницу с нужным
DPI и сохраняем в PNG:float dpi = 200f;
var img = renderer.renderImageWithDPI(0, dpi);
javax.imageio.ImageIO.write(img, "png", java.nio.file.Path.of("page-1.png").toFile());
Проходим по всем страницам и сохраняем каждую в отдельный файл:
for (int i = 0; i < pdf.getNumberOfPages(); i++) {
var bi = renderer.renderImageWithDPI(i, dpi);
javax.imageio.ImageIO.write(bi, "png", java.nio.file.Path.of("page-" + (i+1) + ".png").toFile());
}
pdf.close();Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤5👍4