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