写一个日历的java程序
时间: 2023-08-31 18:31:40 浏览: 111
### 回答1:
你好,我可以为你提供一个简单的java程序来创建一个日历。以下是程序的代码:
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println("当前日期: " + cal.getTime());
// add 10 days to the calendar
cal.add(Calendar.DATE, 10);
System.out.println("十天后的日期: " + cal.getTime());
}
}
### 回答2:
首先,让我们来编写一个简单的java日历程序。
```java
import java.time.LocalDate;
public class CalendarProgram {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 获取当前月份和年份
int currentMonth = currentDate.getMonthValue();
int currentYear = currentDate.getYear();
// 打印日历标题
System.out.println(" " + currentMonth + "月 " + currentYear);
System.out.println("日 一 二 三 四 五 六");
// 获取当前月份的第一天,并确定它是星期几
LocalDate firstDayOfMonth = LocalDate.of(currentYear, currentMonth, 1);
int dayOfWeek = firstDayOfMonth.getDayOfWeek().getValue();
// 打印日历
for (int i = 1; i < dayOfWeek; i++) {
System.out.print(" ");
}
int daysInMonth = currentDate.lengthOfMonth();
for (int i = 1; i <= daysInMonth; i++) {
System.out.printf("%2d ", i);
if ((i + dayOfWeek - 1) % 7 == 0) {
System.out.println();
}
}
}
}
```
这个程序使用了java.time包中的LocalDate类来获取当前日期,然后通过当前日期获取当前月份和年份。接下来,程序通过LocalDate类的静态方法of()来获取当前月份的第一天,并使用getDayOfWeek().getValue()方法获取它是星期几。根据这个星期几的值,程序在打印日历之前打印出一个空格。
程序接下来使用currentDate.lengthOfMonth()方法获取当前月份的天数,并使用for循环依次打印每一天的日期。如果当前日期是一个星期的最后一天,程序会换行打印下一行。
最后,程序会输出一个形如" 3月 2022"的标题,并在打印星期标题之后打印出日历。
### 回答3:
日历是一种记录日期的工具,我们可以使用Java编写一个简单的日历程序。下面是一个示例代码:
```java
import java.util.Calendar;
public class CalendarProgram {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; //月份从0开始,需要加1
int day = calendar.get(Calendar.DAY_OF_MONTH);
int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 打印日历的月份和年份
System.out.println(year + "年" + month + "月");
// 打印日历的表头
System.out.println("日 一 二 三 四 五 六");
// 计算该月份第一天是星期几
calendar.set(Calendar.DAY_OF_MONTH, 1);
int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 打印日历的空白格
for (int i = 1; i < firstDayOfWeek; i++) {
System.out.print(" ");
}
// 打印日历的日期
for (int i = 1; i <= daysInMonth; i++) {
System.out.printf("%2d ", i);
// 每行打印7个日期
if ((firstDayOfWeek + i - 1) % 7 == 0) {
System.out.println();
}
}
}
}
```
这个程序会打印当前月份的日历。它首先获取当前的年份、月份和日期,并计算出这个月份有多少天。然后,它打印出月份和年份,并在第一行打印出日历的表头。接下来,它计算出这个月份的第一天是星期几,并打印出日历的空白格。最后,它打印出这个月份的日期,并确保每行打印7个日期。
阅读全文