素材巴巴 > 程序开发 >

编写日历(自己编写日历详解)

程序开发 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();}
 }
 

结果展示:
1


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。