21xrx.com
2025-03-24 01:09:48 Monday
文章检索 我的文章 写文章
最近在学习Java
2023-06-10 12:31:53 深夜i     --     --
Java 日历 简单

最近在学习Java,想在练手编写一个简单的日历程序。经过了一番搜索资料,我终于编写出了自己的代码,下面就来分享一下吧。

关键词:

Java,日历,简单。

代码:

import java.util.Calendar;
public class SimpleCalendar {
  public static void main(String[] args) {
    Calendar calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH);
    System.out.println("    "+year+"年"+(month+1)+"月");
    System.out.println(" 日 一 二 三 四 五 六");
    calendar.set(Calendar.DAY_OF_MONTH, 1);
    int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
    for (int i=1; i
      System.out.print("  ");
    }
    int lastDayOfMonth = calendar.getActualMaximum(Calendar.DATE);
    for (int i=1; i<=lastDayOfMonth; i++) {
      if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
        System.out.println();
      }
      System.out.printf("%2d ", i);
      calendar.add(Calendar.DAY_OF_MONTH, 1);
    }
  }
}

解析:

首先导入了Java内置的Calendar类。然后在主函数中获取当前年份和月份:

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);

接下来输出年份和月份,并且输出一个星期几的表头:

System.out.println("    "+year+"年"+(month+1)+"月");
System.out.println(" 日 一 二 三 四 五 六");

接着使用`set`函数将日期设置为当月的1号,并获取1号是星期几:

calendar.set(Calendar.DAY_OF_MONTH, 1);
int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

然后打印出第一行前面的空格(即本月1号前面的日子),循环条件为第1天前面有几个空格:

for (int i=1; i
  System.out.print("  ");
}

接下来是一个小循环,按照日历的格式输出日期,如果是周日则需要另起一行:

int lastDayOfMonth = calendar.getActualMaximum(Calendar.DATE);
for (int i=1; i<=lastDayOfMonth; i++) {
  if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
    System.out.println();
  }
  System.out.printf("%2d ", i);
  calendar.add(Calendar.DAY_OF_MONTH, 1);
}

这样就完成了简单日历的编写。

结语:

通过这个例子,我从中了解到了Java的时间操作和字符串格式输出的常用方式。对于Java的初学者而言,这是一个十分不错的练习和应用。

  
  

评论区

    相似文章