编写日历(自己编写日历详解)
程序开发
2023-09-07 09:58:50
日历的编写
1.键盘信息录入
查看需要知道的年份的日期。
Scanner scanner = new Scanner(System.in);
System.out.print("请输入你想要查看的日期(输入格式:2022-2-12):");
String i = scanner.next();
System.out.println(i);
2.将String类型转化为日期类型:
java.sql.Date d = java.sql.Date.valueOf("2022-2-1");
2.1:将Date类型转化为Calendar类型:
Calendar cal = Calendar.getInstance();cal.setTime(d);
3.输出日历的星期:
System.out.println("日t一t二t三t四t五t六t");
4.获取输入的年份信息中的月数中的最大值:
int maxDay = cal.getActualMaximum(Calendar.DATE);
5.遍历本月最大的天的数字
for (int i = 1; i <=maxDay ; i++) {//7.在当天的日期上加上*号if (nowDay==i){System.out.print(i+"*t");}else {System.out.print(i+"t");}count++;if (count % 7 == 0) {System.out.println();}}
6.引用一个计数器,用来计算换行(每7个数字之后进行换行):
int count = 0;
7.在当天的日期上加上*号
if (nowDay==i){System.out.print(i+"*t");}else {System.out.print(i+"t");}count++;if (count % 7 == 0) {//表示的是满足在第七个数字进行换行System.out.println();}
8.求出当天日期
int nowDay = cal.get(Calendar.DATE);
9.求出本月的第一天,将日期置成本月的第一天
cal.set(Calendar.DATE,1);
int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
10.求出前面的空格数
int space = dayofweek-1;
11.遍历space:
for (int i = 1; i <=space ; i++) {System.out.print("t");}
源码展示+注释:
import java.util.Calendar;public class DateTest04 {public static void main(String[] args) {//1.键盘信息录入
// Scanner sc = new Scanner(System.in);
// System.out.print("请输入你想要查看的日期(输入格式:2022-2-12):");
// String i = sc.next();
// System.out.println(i);//2.将接收的String类型转化为Date类型:java.sql.Date d = java.sql.Date.valueOf("2022-2-1");//2.1将Date类型转化为Calendar类型:Calendar cal = Calendar.getInstance();cal.setTime(d);//System.out.println(cal);//3.输出日历的星期System.out.println("日t一t二t三t四t五t六t");//4.先获取本月最大的天数int maxDay = cal.getActualMaximum(Calendar.DATE);//System.out.println(maxDay);//输出当月对大的天数//8.求出当天日期int nowDay = cal.get(Calendar.DATE);//9.求出本月的第一天//9.1将日期置成本月的第一天cal.set(Calendar.DATE,1);int dayofweek = cal.get(Calendar.DAY_OF_WEEK);System.out.println("这是这个月第"+dayofweek+"天");//10.求出前面的空格数int space = dayofweek-1;//6.引用一个计数器,用来计算换行(每7个数字之后进行换行):int count = space;//11.遍历space:for (int i = 1; i <=space ; i++) {System.out.print("t");}//5.遍历本月最大的天的数字for (int i = 1; i <=maxDay ; i++) {//7.在当天的日期上加上*号if (nowDay==i){System.out.print(i+"*t");}else {System.out.print(i+"t");}count++;if (count % 7 == 0) {//表示的是满足在第七个数字进行换行System.out.println();}}//sc.close();}
}
结果展示:
标签:
上一篇:
企业跨境电商购物平台(java开源)快速搭建
下一篇:
相关文章
-
无相关信息