模拟制作一个日历工具:输入年和月,展示该月的日期
如:输入2020 年 12月
一 二 三 四 五 六 日
1 2 3 4 5 6
7 8 9 10 11 12 13
...
package day11;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.Scanner;
public class Hk5 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个日期");
String s= sc.next();
String s1[]=s.split("-"); //将输入的日期划分为数组
if (s1.length<3){ //判断输入的日期是否为年月日
s=s+"-01"; //当只输入年月时,补全日期格式
}
LocalDate day=LocalDate.parse(s); //将字符串转化为日期格式
int j=day.lengthOfMonth(); //该月份的总日期数
int k=day.withDayOfMonth(1).getDayOfWeek().getValue(); //获取本月第一天的星期值
System.out.println("一\t二\t三\t四\t五\t六\t日");
for (int i=0;i<k-1;i++){
System.out.print("\t");
}
for (int i=1;i<=j;i++){
System.out.print(i+"\t");
if (day.withDayOfMonth(i).getDayOfWeek()==DayOfWeek.SUNDAY){ //判断第i天是否为周日
System.out.println("");
}
}
}
}
运行结果