输出当前月份日历(Print a calendar of present month)

本文介绍了一个使用Java编写的简单程序,该程序能够打印出当前月份的日历视图,并通过星号(*)标记今天日期,便于快速识别。代码利用了Java的Calendar类来获取日期和星期信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

/**
@version 1.0 2008-05-11
@author  Cay S.Hostsman
Modified by Climbing Huang when learning Core Java 2
*/

import java.util.*;

public class CalendarTest_CN
{  
public static void main(String[] args)
{  
   
// construct d as current date
   GregorianCalendar d = new GregorianCalendar();

   
int today = d.get(Calendar.DAY_OF_MONTH);
   
int month = d.get(Calendar.MONTH);

   
// set d to start date of the month
   d.set(Calendar.DAY_OF_MONTH, 1);

   
int weekday = d.get(Calendar.DAY_OF_WEEK);

   
// print heading
   System.out.println("星期一  星期二  星期三  星期四  星期五  星期六  星期日");

   
// indent first line of calendar
   for (int i = Calendar.MONDAY; i < weekday; i++ )
      System.out.print(
"        ");

   
do
   {  
      
// print day
      int day = d.get(Calendar.DAY_OF_MONTH);
      System.out.printf(
"%6d", day);

      
// mark current day with *
      if (day == today)
         System.out.print(
"");
      
else
         System.out.print(
"  ");

      
// start a new line after every Saturday
      if (weekday == Calendar.SUNDAY)
         System.out.println();

      
// advance d to the next day
      d.add(Calendar.DAY_OF_MONTH, 1);
      weekday 
= d.get(Calendar.DAY_OF_WEEK);
   } 
   
while (d.get(Calendar.MONTH) == month);
   
// the loop exits when d is day 1 of the next month

   
// print final end of line if necessary
   if (weekday != Calendar.MONDAY)
      System.out.println();
}
}

 

A snapshot of execution result:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值