【java】利用日期函数,打印日期表
先导入库
import java.util.Scanner;
import java.util.Calendar;
在main函数里面利用Scanner输入输出
Scanner sc=new Scanner(System.in);
System.out.println("请输入要显示的日期的年份、月份:");
int year=sc.nextInt();
int month=sc.nextInt();
调用日期对象,获得当时时间getInstance()
月份下标从0开始,即month-1,
Calendar c=Calendar.getInstance();
c.set(year,month-1,1);
int dayOfweek=c.get(Calendar.DAY_OF_WEEK);
c.add(Calendar.MONTH,1);
c.add(Calendar.DATE,-1);
System.out.println();
接着确定输出模式,将字符串转换为数组,charAt,每个字符之间不换行,打完才换行
System.out.println("============"+year+"年"+month+"月"+"===========");
String title="日一二三四五六";
for(int i=0;i<title.length();i++){
System.out.print(title.charAt(i)+"\t");
}
System.out.println();
利用一个变量count,初始值为0,意思为每一个输出的七个值即下标,满七换行
首先输出每个月的空白值,即每个月第一天的星期-1
int count=0;
for(int i=0;i<dayOfweek-1;i++){
System.out.print("\t");
count++;
}
当count满7即换行,并且日期++,每七个内不换行,满即换行
for(int i=1;i<=c.get(Calendar.DATE);i++){
System.out.print(i);
count++;
if(count==7){
System.out.println();
count=0;
continue;
}
System.out.print("\t");
}
}