Java使用Calendar類(lèi)實(shí)現(xiàn)動(dòng)態(tài)日歷
本文實(shí)例為大家分享了Java使用Calendar類(lèi)實(shí)現(xiàn)動(dòng)態(tài)日歷的具體代碼,供大家參考,具體內(nèi)容如下
題目:使用Calendar類(lèi)實(shí)現(xiàn)一個(gè)動(dòng)態(tài)日歷,要求能夠通過(guò)輸入一個(gè)年份,月份顯示當(dāng)月的日歷布局,并且將周六周天使用'[]'包裹起來(lái),另外要求如果顯示為當(dāng)月日歷時(shí),把當(dāng)天的日期使用'*'標(biāo)記出來(lái)。
步驟分析:1.打印日歷
1.1當(dāng)月總天數(shù)
1.2當(dāng)月第一天是周幾(注意:月份是從0開(kāi)始,星期是從周日(1)開(kāi)始)
2.周末用【】包裹
3.當(dāng)前日期前加*號(hào)
代碼實(shí)現(xiàn):package com.softeem.j2016.example; import java.util.Calendar;import java.util.Date;import java.util.Scanner; /** * 1.打印日歷 * 1.1當(dāng)月總天數(shù) * 1.2當(dāng)月第一天是周幾 * 2.周末用【】包裹 * 3.當(dāng)前日期加“*” * @author admin * 2021/7/23 */public class CalendarDemo { //獲取一個(gè)日期實(shí)例 static Calendar c = Calendar.getInstance(); public static void show(int year,int month){//獲取當(dāng)天日期Date today = new Date();//獲取系統(tǒng)時(shí)間的年月日int y = today.getYear() +1900;int m = today.getMonth() +1;int d = today.getDate() ; c.set(Calendar.YEAR,year);c.set(Calendar.MONTH,month-1);//設(shè)置當(dāng)前日歷的日期為本月的第一天(7.1)c.set(Calendar.DAY_OF_MONTH,1);//獲取當(dāng)前字段所表示日歷的可能具備最大值(本月總天數(shù))int days = c.getActualMaximum(Calendar.DAY_OF_MONTH);//獲取當(dāng)月第一天是周幾(7.1前面設(shè)置為本月第一天),周日=1;int week = c.get(Calendar.DAY_OF_WEEK)-1;//如果當(dāng)天是周日,則設(shè)置為7week = week == 0?7 :week;//打印空格數(shù)System.out.printf('%d月一共有%d天,1號(hào)是周%dn',month,days,week);System.out.printf('==========【%d】年【%d】月==========n',year,month);System.out.println('一t二t三t四t五t六t日');System.out.println('================================');//計(jì)數(shù)器int count = 0;//(輸出空格)如果當(dāng)天是星期四則說(shuō)明有三個(gè)空格,需要循環(huán)三次,則week-1for (int i = 0; i < week - 1; i++) { System.out.print('t'); count++;}for (int i = 1; i <=days; i++) { count++; //根據(jù)日期的數(shù)值判斷是否是周末,如果是則用'[]'包裹 String date = (count % 7 ==6 || count % 7 == 0)?'['+i+']t':i+'t'; //在當(dāng)前日期前使用'*'標(biāo)記 date = (y == year && m == month && d == i)?'*' + date:date; //輸出日期 System.out.print(date); //達(dá)到七位則換行 if (count%7==0){System.out.println(); }} } public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println('請(qǐng)輸入年份');int year = sc.nextInt();System.out.println('請(qǐng)輸入月份');int month = sc.nextInt();show(year,month); }}
效果截圖:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. chat.asp聊天程序的編寫(xiě)方法2. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐3. IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn)4. XML入門(mén)的常見(jiàn)問(wèn)題(一)5. jsp EL表達(dá)式詳解6. Python多線(xiàn)程操作之互斥鎖、遞歸鎖、信號(hào)量、事件實(shí)例詳解7. Django程序的優(yōu)化技巧8. Django ORM實(shí)現(xiàn)按天獲取數(shù)據(jù)去重求和例子9. idea設(shè)置自動(dòng)導(dǎo)入依賴(lài)的方法步驟10. 怎樣才能用js生成xmldom對(duì)象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?
