用Java編程輸出萬年歷的功能實(shí)現(xiàn)
1、功能實(shí)現(xiàn)
輸入1查看上個月日歷
輸入2查看下個月日歷
輸入3查看去年本月日歷
輸入4查看明年本月日歷
輸入5查看指定月份日歷
2、代碼所導(dǎo)入的包
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Scanner;
3、main函數(shù)和定義的屬性
static Scanner key=new Scanner(System.in);//創(chuàng)建鍵盤掃描器 public static void main(String[] args) { Calendar cal=new GregorianCalendar(); showTime(cal);//顯示本月日歷 while(true) { help();//調(diào)出幫助菜單 int num=key.nextInt();//菜單輸入選項(xiàng) switch(num) { case 1:lastMonth();break;//查找上個月日歷 case 2:nextMonth();break;//查找下個月日歷 case 3:lastYearMonth();break;//查找去年本月日歷 case 4:nextYearMonth();break;//查找明年本月日歷 case 5:chooseMonth();break;//查找指定時間日歷 default :System.out.println("請輸入正確的指令:"); } } }
4、查找去年本月日歷方法
private static void lastYearMonth() {//查找去年本月日歷 Calendar cal=new GregorianCalendar(); cal.add(Calendar.YEAR,-1);//將時間轉(zhuǎn)換到去年 showTime(cal);//調(diào)用showTime()方法,打印日歷 }
5、查找明年本月日歷
private static void nextYearMonth() {//查找明年本月日歷 Calendar cal=new GregorianCalendar(); cal.add(Calendar.YEAR,1);//將時間轉(zhuǎn)換到明年 showTime(cal);//調(diào)用showTime()方法,打印日歷 }
6、查找指定時間日歷
private static void chooseMonth() {//查找指定時間日歷 System.out.println("請輸入時間,如 2020-2"); String str=key.next(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM"); //轉(zhuǎn)換字符串時間為date類型 Date date=null; try {//拋出異常 date=sdf.parse(str); } catch (ParseException e) { e.printStackTrace(); } Calendar cal= new GregorianCalendar(); cal.setTime(date);//將date的時間類型轉(zhuǎn)換為Calendar showTime(cal);////調(diào)用showTime()方法,打印日歷 }
7、查找下個月日歷
private static void nextMonth() {//查找下個月日歷 Calendar cal=new GregorianCalendar(); cal.add(Calendar.MONTH,1);//將時間轉(zhuǎn)換到下個月 showTime(cal);//調(diào)用showTime()方法,打印日歷 }
8、查找上個月日歷
private static void lastMonth() {//查找上個月日歷 Calendar cal=new GregorianCalendar(); cal.add(Calendar.MONTH,-1);//將時間轉(zhuǎn)換到上個月 showTime(cal);//調(diào)用showTime()方法,打印日歷 }
9、打印幫助目錄
private static void help() {//打印幫助目錄 System.out.println("*****************"); System.out.println("輸入1查看上個月日歷"); System.out.println("輸入2查看下個月日歷"); System.out.println("輸入3查看去年本月日歷"); System.out.println("輸入4查看明年本月日歷"); System.out.println("輸入5查看指定月份日歷"); System.out.println("*****************"); }
10、該方法用來展示所搜索的時間
private static void showTime(Calendar cal) {//該方法用來展示所搜索的時間 int touday=cal.getActualMaximum(Calendar.DATE); //獲取當(dāng)月的總天數(shù) cal.set(Calendar.DATE,1); //將時間設(shè)置成一個月的第一天 System.out.println("一\t二\t三\t四\t五\t六\t日"); //將星期的文字表示出來 int weekday=cal.get(Calendar.DAY_OF_WEEK); //獲取每月第一天是星期幾 for(int i=1;i<weekday-1;i++) { //輸出首日前面的空格 System.out.print("\t"); } for(int i=1;i<=touday;i++) { //將一月里的每一天輸出 System.out.print(i+"\t"); if((i+weekday-2)%7==0) { //輸出換行,加上前面的空格數(shù)再換行 System.out.println(); } } System.out.println(); System.out.println("*****************"); } }
代碼運(yùn)行結(jié)果如下:
到此這篇關(guān)于用Java編程輸出萬年歷的功能實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java輸出萬年歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java-流的使用完結(jié)與異常處理機(jī)制(詳解)
下面小編就為大家?guī)硪黄猨ava-流的使用完結(jié)與異常處理機(jī)制(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09Java實(shí)現(xiàn)的校驗(yàn)銀行卡功能示例
這篇文章主要介紹了Java實(shí)現(xiàn)的校驗(yàn)銀行卡功能,結(jié)合完整實(shí)例形式分析了java針對銀行卡類型、歸屬地等信息的判斷、讀取相關(guān)操作技巧,需要的朋友可以參考下2018-06-06Spring Boot/Angular整合Keycloak實(shí)現(xiàn)單點(diǎn)登錄功能
Keycloak新的發(fā)行版命名為Quarkus,專為GraalVM和OpenJDK HotSpot量身定制的一個Kurbernetes Native Java框架,計(jì)劃2019年底正式發(fā)布。這篇文章主要介紹了Spring Boot/Angular整合Keycloak實(shí)現(xiàn)單點(diǎn)登錄,需要的朋友可以參考下2019-10-10SpringBoot整合ip2region獲取客戶端IP地理位置信息
在我們?nèi)粘EB開發(fā)工作中,經(jīng)常會有需要獲取客戶端地理位置的需求,本文主要介紹了SpringBoot整合ip2region獲取客戶端IP地理位置信息,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08java實(shí)現(xiàn)監(jiān)聽u盤示例分享
這篇文章主要介紹了java實(shí)現(xiàn)監(jiān)聽u盤示例,需要的朋友可以參考下2014-03-03Java volatile如何實(shí)現(xiàn)禁止指令重排
這篇文章主要介紹了Java volatile如何實(shí)現(xiàn)禁止指令重排,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11SpringCloud超詳細(xì)講解微服務(wù)網(wǎng)關(guān)Gateway
這篇文章主要介紹了SpringCloud Gateway微服務(wù)網(wǎng)關(guān),負(fù)載均衡,熔斷和限流,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Java實(shí)現(xiàn)Map遍歷key-value的四種方法
本文主要介紹了Java實(shí)現(xiàn)Map遍歷key-value的四種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07