21xrx.com
2024-12-23 01:48:57 Monday
登录
文章检索 我的文章 写文章
最近在学习Java
2023-06-15 18:40:29 深夜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的初学者而言,这是一个十分不错的练习和应用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复