最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Java編寫一個屬于自己的日歷

 更新時間:2022年05月13日 13:04:20   作者:程序喵正在路上  
這篇文章主要為大家介紹了如何利用Java編寫一個屬于自己的日歷,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起嘗試一下

問題提出

編寫程序,輸入年份,打印出該年的年歷(12個月的),效果如下圖所示。

一點提示

使用 Java 自帶的 Calendar 類得到一個 Calendar 類對象,然后我們可以去得到每個月的第一天是星期幾

Calendar 類不能直接 new 得到對象,需要使用 getInstance() 函數(shù)

//得到一個Calendar對象
Calendar c = Calendar.getInstance();

Calendar 類的 set 可以設置自己想要的日期為當前日期

get(Calendar.DAY_OF_WEEK) 可以得到某一天是星期幾,由于其內(nèi)部默認為美國時區(qū),所以我們設置月份和計算星期幾要減一

//設置日期為當前月份的第一天,由于時區(qū)的原因,month-1,get(java.util.Calendar.DAY_OF_WEEK) - 1
c.set(year, month - 1, 1);
//求出第一天是星期幾
int FirstDayInWeek = c.get(Calendar.DAY_OF_WEEK) - 1;

然后通過循環(huán)打印出每個月的日歷,注意大小月和閏月問題。

源碼分享

//導入相關包
import java.util.Scanner;
import java.util.Calendar;

public class MyCalendar {
    public static void main(String[] args) {
        //保存用戶輸入的年份
        int year;
        //保存每個月的天數(shù)
        int days = 0;
        //保存月份
        String[] months;

        months = new String[13];
        months[1] = "January";
        months[2] = "February";
        months[3] = "March";
        months[4] = "April";
        months[5] = "May";
        months[6] = "June";
        months[7] = "July";
        months[8] = "August";
        months[9] = "September";
        months[10] = "October";
        months[11] = "November";
        months[12] = "December";

        //接受用戶輸入的年份
        Scanner in = new Scanner(System.in);
        System.out.print("Please input years:");
        year = in.nextInt();

        //得到一個Calendar對象
        Calendar c = Calendar.getInstance();

        //循環(huán) 12 個月
        for (int month = 1; month <= 12; month++) {
            //標題
            System.out.println("\n  Month's name is " + months[month]);
            for (int i = 1; i <= 27; i++) System.out.print("=");
            System.out.println("\nSun\tMon\tTue\tWed\tThu\tFri\tSat");

            // 判斷當前月份的天數(shù)
            if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
                days = 31;
            }
            if (month == 4 || month == 6 || month == 9 || month == 11) {
                days = 30;
            }
            if (month == 2) {
                //閏年判斷
                if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
                    days = 29;
                } else {
                    days = 28;
                }
            }

            //設置日期為當前月份的第一天,由于時區(qū)的原因,month-1,get(java.util.Calendar.DAY_OF_WEEK) - 1
            c.set(year, month - 1, 1);
            //求出第一天是星期幾
            int FirstDayInWeek = c.get(Calendar.DAY_OF_WEEK) - 1;

            //用來控制換行
            int cnt = 0;

            //前面的空位
            for (int j = 0; j < FirstDayInWeek; j++) {
                System.out.print("    ");
                cnt++;
            }

            //打印當前月份日歷
            for (int i = 1; i <= days; i++) {
                if (cnt == 7) {
                    System.out.printf("\n");
                    cnt = 0;
                }
                System.out.printf("%-4d", i);
                cnt++;
            }

            System.out.print("\n");
        }
    }
}

到此這篇關于利用Java編寫一個屬于自己的日歷的文章就介紹到這了,更多相關Java日歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中使用Apache POI讀取word文件簡單示例

    Java中使用Apache POI讀取word文件簡單示例

    這篇文章主要介紹了Java中使用Apache POI讀取word文件簡單示例,本文著重介紹了一些必要條件,然后給出一個簡單讀取示例,需要的朋友可以參考下
    2015-06-06
  • IDEA中實體類(POJO)與JSON快速互轉問題

    IDEA中實體類(POJO)與JSON快速互轉問題

    這篇文章主要介紹了IDEA中實體類(POJO)與JSON快速互轉,本文通過圖文實例代碼相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • 利用JSONObject.toJSONString()包含或排除指定的屬性

    利用JSONObject.toJSONString()包含或排除指定的屬性

    這篇文章主要介紹了利用JSONObject.toJSONString()包含或排除指定的屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot實現(xiàn)國密通信的流程步驟

    SpringBoot實現(xiàn)國密通信的流程步驟

    這篇文章主要介紹了SpringBoot實現(xiàn)國密通信的流程步驟,我們需要完成以下步驟:生成支持國密的證書,配置兩個 Spring Boot 項目,使用國密證書實現(xiàn) HTTPS和驗證通信是否成功,通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-11-11
  • 使用Java連接WMI獲取系統(tǒng)信息的方法

    使用Java連接WMI獲取系統(tǒng)信息的方法

    在 Windows 系統(tǒng)上,WMI是一套管理數(shù)據(jù)和操作系統(tǒng)組件的基礎設施,能讓應用程序查詢系統(tǒng)信息、監(jiān)控硬件狀態(tài)以及管理系統(tǒng)配置,本項目旨在講解如何通過 Java 連接 WMI 獲取系統(tǒng)信息,需要的朋友可以參考下
    2025-03-03
  • Java畫筆的簡單實用方法

    Java畫筆的簡單實用方法

    這篇文章主要介紹了Java畫筆的簡單實用方法,需要的朋友可以參考下
    2017-09-09
  • java中this的用法示例(關鍵字this)

    java中this的用法示例(關鍵字this)

    這篇文章主要介紹了java中this的用法示例(關鍵字this),需要的朋友可以參考下
    2014-03-03
  • Spring AOP切點表達式使用及說明

    Spring AOP切點表達式使用及說明

    這篇文章主要介紹了Spring AOP切點表達式使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java設計模式之簡單工廠 工廠方法 抽象工廠深度總結

    Java設計模式之簡單工廠 工廠方法 抽象工廠深度總結

    設計模式(Design Pattern)是前輩們對代碼開發(fā)經(jīng)驗的總結,是解決特定問題的一系列套路。它不是語法規(guī)定,而是一套用來提高代碼可復用性、可維護性、可讀性、穩(wěn)健性以及安全性的解決方案
    2021-09-09
  • 解決Spring?Security集成knife4j訪問接口文檔出現(xiàn)403的問題

    解決Spring?Security集成knife4j訪問接口文檔出現(xiàn)403的問題

    這篇文章主要給大家介紹了如何解決Spring?Security集成knife4j訪問接口文檔出現(xiàn)403的問題,文中有詳細的解決方案,有需要的朋友可以參考閱讀下
    2023-07-07

最新評論

葫芦岛市| 唐海县| 正阳县| 托克逊县| 河池市| 石河子市| 浮山县| 新平| 湘西| 罗平县| 武鸣县| 青岛市| 民权县| 平和县| 山丹县| 美姑县| 尚志市| 澜沧| 河源市| 湖北省| 图片| 松滋市| 丰台区| 浮梁县| 壤塘县| 翼城县| 利辛县| 兰州市| 永定县| 屏山县| 彰化县| 东丰县| 桂平市| 房山区| 讷河市| 永丰县| 洪江市| 肇庆市| 合阳县| 太白县| 库车县|