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 Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥10👍7
В Java можно легко узнать, сколько свободного места осталось на диске!

Класс File умеет получать информацию о размере, занятом и доступном пространстве:
public static void main(String[] args) {
File disk = new File("/"); // корень диска

long free = disk.getFreeSpace();
long total = disk.getTotalSpace();
long used = total - free;

System.out.println("Общий объём: " + total / 1_000_000_000 + " ГБ");
System.out.println("Использовано: " + used / 1_000_000_000 + " ГБ");
System.out.println("Свободно: " + free / 1_000_000_000 + " ГБ");
}


🔥 Методы getFreeSpace() и getTotalSpace() возвращают значения в байтах, поэтому для удобства их можно делить на 1_000_000_000, чтобы получить гигабайты.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍3
🔥 Дедлайн — 21 октября 🔥

Оформи заявку на Хакатон ИТ-холдинга Т1 сегодня и поборись за призовой фонд 800 000₽

Финишная прямая: подай заявку на Хакатон Т1 Новосибирск.

Реальные кейсы, рост и нетворкинг.

Команды от 3 до 5 человек.

Призовой фонд 800 000 ₽.

Завершение регистраций — 21 октября, 23:59 НСК.
Принять участие
1
👩‍💻 Поиск строки в проекте!

Иногда нужно найти конкретную строку в коде, но не хочется открывать IDE. С помощью Files.walk() и потоков можно сделать grep-поиск прямо из Java.

В этом посте:
Рекурсивно обходим все .java файлы;

Проверяем содержимое на вхождение строки;

Оптимизируем через потоки и регулярки.


Такой подход легко встроить в свои утилиты, анализаторы и CLI-инструменты.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥105👍3
Чтение ресурсов из classpath через getResourceAsStream — загружаем файлы прямо из resources!

Иногда нужно считать файл, который лежит внутри проекта, например в папке resources.

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

Помещаем файл в папку src/main/resources:
config/settings.txt


Читаем содержимое через ClassLoader:
var stream = MyClass.class.getClassLoader()
.getResourceAsStream("config/settings.txt");


Преобразуем поток в строку:
assert stream != null;
var text = new String(stream.readAllBytes());
System.out.println(text);
stream.close();


🔥 Такой способ работает и в jar-файлах, и на сервере. Никаких абсолютных путей — всё берётся прямо из classpath.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍5🔥4
👩‍💻 Разбираем Instant.parse — современный способ работы со временем!

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

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥144👍3🤝2
Проверка, является ли год високосным!

Иногда нужно определить, имеет ли год 366 дней. Это важно для календарей, расчётов дат и финансовых приложений. Java решает задачу одной строкой через класс Year.

Проверяем конкретный год:
boolean leap = java.time.Year.isLeap(2025);
System.out.println(leap); // false


Работаем с текущим годом:
int year = java.time.LocalDate.now().getYear();
System.out.println(year + " — високосный? " + java.time.Year.isLeap(year));


Пример для диапазона лет:
for (int y = 2020; y <= 2030; y++) {
if (java.time.Year.isLeap(y))
System.out.println(y + " — високосный");
}


🔥 Метод isLeap() учитывает все правила календаря.
Больше не нужно вручную проверять деление на 4, 100 и 400.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥5👍4