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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👍 Mindgrasp AI — инструмент для быстрого анализа и усвоения информации!

Это AI-ассистент для обучения, который позволяет загружать документы, видео или аудио и автоматически превращать их в структурированные материалы: краткие конспекты, ответы, карточки и тесты. Также можно задавать вопросы прямо по загруженному источнику и получать точные ответы на основе его содержания.

📌 Оставляю ссылочку: mindgrasp.ai

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍8🔥6
👩‍💻 Генерируем чек в консоли!

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

В этой задаче:
Создаём класс Item для представления товара

Выводим чек через System.out.printf()

Выравниваем по ширине и считаем общую сумму


Это идеально подойдет для POS-прототипов или печати квитанций.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍4
👩‍💻 Напоминалка по фичам Java!

На картинке собраны ключевые возможности Java 8+: Lambdas, Default methods и Optional. Они упрощают код, делают его чище и помогают избегать null.

Сохрани, чтобы быстрее ориентироваться Java-коде!


👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍6🔥4
Создаём гифку из фото

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

Собираем список кадров:
File[] frames = new File("images").listFiles((dir, name) ->
name.endsWith(".png") || name.endsWith(".jpg"));


Читаем изображения в память:
BufferedImage img = ImageIO.read(frames[i]);


Добавляем кадры в GIF по очереди:
gifWriter.writeToSequence(
new IIOImage(img, null, metadata),
params
);


Задаём задержку между кадрами:
metadataNode.setAttribute("delayTime", "50");


Сохраняем готовую анимацию:
output.close();
gifWriter.endWriteSequence();


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

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🐱 Java — практическая база по Java и ООП!

Это структурированная подборка материалов и примеров по основам Java. Внутри разобраны ключевые темы: классы и объекты, наследование, полиморфизм, коллекции, обработка исключений и базовые алгоритмы. Материал подаётся через код и примеры, что позволяет сразу видеть, как применяются концепции на практике.

Оставляю ссылочку: GitHub 📱


👉 Java Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96🔥6
Создаём консольный редактор текста

Пользователь вводит текст, добавляет новые строки, удаляет лишнее и в любой момент может посмотреть текущее содержимое.
Такой проект хорошо показывает, как строится логика приложения с командами, хранением данных и циклом работы.

Храним все строки текста в списке:
List<String> lines = new ArrayList<>();


Считываем команду от пользователя:
System.out.print("Команда: ");
String cmd = sc.nextLine();


Добавляем новую строку в редактор:
System.out.print("Введите текст: ");
String text = sc.nextLine();
lines.add(text);


Показываем всё содержимое с номерами строк:
for (int i = 0; i < lines.size(); i++) {
System.out.println((i + 1) + ": " + lines.get(i));
}


Удаляем строку по номеру:
System.out.print("Номер строки: ");
int index = Integer.parseInt(sc.nextLine()) - 1;
lines.remove(index);


Сохраняем текст в файл:
Files.write(Path.of("note.txt"), lines);


Загружаем текст из файла обратно:
lines = Files.readAllLines(Path.of("note.txt"));


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

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥3
Парсинг HTML через Jsoup!

Собираем данные со страниц: тянем заголовки и ссылки, удобно для ботов, парсеров и быстрых утилит.

Устанавливаем библиотеку:
implementation "org.jsoup:jsoup:1.17.2"


Извлекаем заголовки h1..h3:
var url = "https://java.com";
var doc = org.jsoup.Jsoup.connect(url).get();

doc.select("h1, h2, h3").forEach(h -> {
System.out.println(h.tagName() + ": " + h.text());
});
// h1: Example Domain
// h2:


Собираем ссылки с текстами:
doc.select("a[href]").forEach(a -> {
var href = a.attr("abs:href"); // абсолютная ссылка
var text = a.text();
System.out.println(text + " -> " + href);
});


Массовый парсинг нескольких страниц:
var urls = java.util.List.of(
"https://example.com",
"https://example.org"
);
for (var u : urls) {
var d = org.jsoup.Jsoup.connect(u).get();
System.out.println("== " + u + " ==");
d.select("title").forEach(t -> System.out.println(t.text()));
}


🔥 Быстро вытягиваем метаданные, заголовки и ссылки: идеально для агрегаторов, мониторинга и автосборки контента.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥2
📂 Напоминалка по тому, как работает JVM!

Например, Java-код сначала компилируется в байткод (.class), а затем JVM загружает его, проверяет, и выполняет — либо через интерпретатор, либо через JIT-компиляцию в машинный код.

На схеме — полный пайплайн: от сборки (javac) до выполнения, включая загрузчики классов, этапы линковки и области памяти (heap, stack, method area), а также работу execution engine и JNI.

Сохрани, чтобы не потерять!

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍75🤝2
👩‍💻 Разберем text Blocks — читаемые и удобные многострочные строки без \n и кавычек!

В этой шпаргалке приёмы для работы с множествами: пересечение, разница, включённость. Используются при фильтрации, валидации, логике и анализе данных с условиями.

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72👍2
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ Learn Java Spring — структурированная база по Java и Spring!

Репозиторий представляет собой системную подборку материалов для изучения Java и Spring Framework, от базового уровня до продвинутых тем. Внутри есть ссылки на статьи, гайды и туториалы, разбитые по разделам: Core Java, коллекции, многопоточность, build-инструменты, а также Spring и Spring Boot.

Оставляю ссылочку: GitHub 📱


👉 Java Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍5🔥4
Как использовать enum вместо списков в Java!

Если логика зависит от фиксированного набора вариантов, не всегда стоит раздувать switch.

Например, сначала код может выглядеть аккуратно:
switch (tariff) {
case PRO -> 10;
case ENTERPRISE -> 20;
default -> 0;
}


Но когда правил становится больше, такой switch часто начинает расползаться по проекту.

Для таких случаев можно использовать EnumMap — это Map, оптимизированная специально под enum-ключи:
var discounts = new EnumMap<Tariff, Integer>(Tariff.class);

discounts.put(Tariff.PRO, 10);
discounts.put(Tariff.ENTERPRISE, 20);


А значение можно доставать без лишних условий:
int discount = discounts.getOrDefault(tariff, 0);


Так код становится проще расширять: добавился новый тариф, добавляешь новое правило, а не ищешь все switch по проекту.

Сохрани, если часто превращаешь enum в длинную цепочку условий!

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍5🔥4