Java日历小程序
import java.time.*;
public class test1 {
public static void main(String[] args)
{
//
LocalDate date = LocalDate.now();
int Month = date.getMonthValue();
int Today = date.getDayOfMonth();
date = date.minusDays(Today-1);
DayOfWeek WeekDay = date.getDayOfWeek();
int Value = WeekDay.getValue();
//输出日历表头,每个星期中间使用制表符
System.out.println("Mon Tue Wed Thu Fri Sat Sun");
//通过for循环将每月1号之前的空位用制表符缩进,用Value的值来控制
//需注意此处的空字符是Tab
for(int i = 1; i < Value; i++)
System.out.print(" ");
//用while来循环显示每月的每一天
while(date.getMonthValue() == Month)
{
//输出对应日期
System.out.printf("%d", date.getDayOfMonth());
//如果此时输出的日期等于之前获得的当前日期Today,则在日期后加*标识,后边记得加Tab,否则直接Tab
if(date.getDayOfMonth() == Today)
System.out.print("* ");
else
System.out.print(" ");
//给日期加一
date = date.plusDays(1);
//如果此时星期对应的值为1,即下一个要打印的日期为星期一一列,则回车换行
if(date.getDayOfWeek().getValue() == 1)
System.out.println();
}
if(date.getDayOfWeek().getValue() != 1)
System.out.println();
}
}
效果如图