/
EugenyCh7
/
JavaAndScalaLessons
Обзор
Документация
Войти
/
EugenyCh7
/
JavaAndScalaLessons
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
JavaTest/src/ch2/ex11/Main.java
41 строка
1 KB
Eugeny Chekmarev
IDEA update
15 июн 2021, 21:11
15 июн 2021, 21:11
47fadf9
Код
Авторство
О чём код?
package ch2.ex11; import java.time.DayOfWeek; import static java.time.LocalDate.now; import static java.time.LocalDate.of; import java.time.LocalDate; import java.time.Month; import static java.lang.System.out; public class Main { public static void main(String[] args) { final String[] weekdayNames = {"Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"}; final int weekdayPreWidth = 3; final int weekdayNameWidth = weekdayNames[0].length() + weekdayPreWidth; final String weekdayTab = " ".repeat(weekdayNameWidth); final String weekdayPre = " ".repeat(weekdayPreWidth); for (int i = 0; i < 7; i++) out.printf("%s%s", weekdayPre, weekdayNames[i]); out.println(); LocalDate today = now(); LocalDate date = of(today.getYear(), today.getMonth(), 1); DayOfWeek dayOfWeek = date.getDayOfWeek(); int dayIndex = dayOfWeek.getValue() % 7; for (int i = 0; i < dayIndex; i++) out.print(weekdayTab); Month month = date.getMonth(); while (date.getMonth() == month) { int day = date.getDayOfMonth(); if (date.equals(today)) out.printf("%s*%2d", weekdayPre.substring(1), day); else out.printf("%s%2d", weekdayPre, day); date = date.plusDays(1); if (date.getDayOfWeek().getValue() == 7) out.println(); } } }