Проверка пароля на надёжность!
Надёжный пароль должен содержать буквы разного регистра, цифры и спецсимволы. 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
Когда важна подача данных, а не просто их значение, стандартные числа начинают работать против читаемости. Этот класс превращает цифры в понятные пользователю шаблоны.
Он незаменим в отчётности, логировании, интерфейсах и форматировании. Управляя маской, можно быстро адаптировать числовой вывод под требования клиента или дизайн системы.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍7❤4🤝1
Отправка email прямо из кода!
Java умеет отправлять письма через
Подключаем зависимость (
Указываем настройки SMTP-сервера:
Создаём сессию с логином и паролем:
Готовим письмо:
Отправляем:
🔥 Работает с Gmail, Яндексом, корпоративной почтой и любым
👉 Java Ready | #совет
Java умеет отправлять письма через
SMTP без сторонних сервисов с помощью библиотеки javax.mail.Подключаем зависимость (
Maven):<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
<version>2.0.1</version>
</dependency>
Указываем настройки SMTP-сервера:
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
Создаём сессию с логином и паролем:
Session session = Session.getInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("you@example.com", "password");
}
});Готовим письмо:
Message msg = new MimeMessage(session);
msg.setFrom("you@example.com");
msg.setRecipients(Message.RecipientType.TO, "target@example.com");
msg.setSubject("Тестовое письмо");
msg.setText("Привет! Это письмо отправлено из Java.");
Отправляем:
Transport.send(msg);
SMTP.Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍5🔥4