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

java打印指定年月份的日歷

 更新時間:2019年07月31日 11:42:08   作者:塔城就是個弟弟  
這篇文章主要為大家詳細介紹了java打印指定年、指定月份的日歷,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java打印指定年月份日歷的具體代碼,供大家參考,具體內(nèi)容如下

做了一個小的日歷打印,沒有使用數(shù)組,所以不能對日期進行操作,用了單個for循環(huán)打印,對初學(xué)者來說應(yīng)該好理解點

工具類:

import java.util.Calendar;

public class DaysTool {
 private int year;
 private int month;
 public DaysTool(){}
 public DaysTool(int year ,int month){
 this.year = year;
 this.month = month;
 }

 /**
 * 根據(jù)年份和月份來得到打印月份的第一天是周幾
 * @return 是一周的周幾
 */
 public int WhatWeekDay(){

 //創(chuàng)建Calendar對象
 Calendar calendar = Calendar.getInstance();
 //設(shè)置calendar對象的年
 calendar.set(Calendar.YEAR,this.year);
 //設(shè)置calendar對象的月份 ,因為此處的月份是從零開始(0-11表示1-12月),所以我們輸入的數(shù)值要減去1才是正確的月份
 //(比如輸入8月,接收數(shù)值 8 ,但是因為Calendar的特殊月份計數(shù), 8 代表的是"9月",所以減去 1 為 7 ,才是正確的 8月)
 calendar.set(Calendar.MONTH,this.month-1);
 //設(shè)置日期為打印月的第一天
 calendar.set(Calendar.DATE, 1);
 //用get方法獲取這一天是周幾
 int whatDay = calendar.get(Calendar.DAY_OF_WEEK);
 //Calendar從周日開始到周六結(jié)束,用1-7表示,這里為了方便,把其數(shù)值減 1 ,得到周日到周六為 0 - 6 只需特殊處理周日即可
 return whatDay-1; //得出這個月的第一天是周幾
 }

 public int WhatDayOfMonth(){
 //實例化Calendar對象
 Calendar calendar = Calendar.getInstance();
 //設(shè)置為打印年打印月的下一個月(參考WhatWeekDay方法中的月份注釋 ,這里沒減1)第一天.
 //例:輸入 2018 2 其實為2018年的3月
 calendar.set(this.year,this.month,1);
 //使上面的日期退一天 得到打印月
 calendar.add(Calendar.DATE,-1);
 //獲取日的數(shù)值
 int monthDay =calendar.get(Calendar.DATE);
 return monthDay;
 }

 public int getYear() {
 return year;
 }

 public void setYear(int year) {
 this.year = year;
 }

 public int getMouth() {
 return month;
 }

 public void setMouth(int mouth) {
 this.month = mouth;
 }
}

主類(包含了打印工具類)

import java.util.Scanner;

public class PrintCalendar {
 public static void main(String[] args) {
 //接收鍵盤錄入年份和月份
 Scanner scanner = new Scanner(System.in);
 System.out.print("請輸入需要打印的年份: ");
 int year = scanner.nextInt();
 System.out.print("請輸入需要打印的月份: ");
 int month = scanner.nextInt();
 //創(chuàng)建日歷工具類對象,并用帶參構(gòu)造初始化
 DaysTool dt = new DaysTool(year,month);
 //實例化打印工具類對象
 PrintDayTool pd = new PrintDayTool();
 System.out.println(String.format("\n即將打印%d年%d月日歷",year,month)+"\n");
 System.out.println("========================================================\n");
 //調(diào)用打印工具類對象的printDay方法,傳入年和月份
 pd.printDay(dt.WhatDayOfMonth(),dt.WhatWeekDay());
 System.out.println("========================================================");
 }

}
class PrintDayTool{
 //
 /**
 * 打印日歷方法,
 * @param daysOfMouth 傳入?yún)?shù),確定打印月份的天數(shù)
 * @param whatDay 傳入?yún)?shù),確定打印月份的第一天是周幾
 */
 public void printDay(int daysOfMouth,int whatDay){
 int count = 0; //定制計數(shù)標(biāo)記
 System.out.print("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
 //j從1開始 到這個月的天數(shù)結(jié)束
 for(int j = 1 ; j <= daysOfMouth ; j ++){
  count++;
  //每打印七天就換行
  if(count % 7 == 1){
  System.out.print("\n\n");
  }
  //如果這月的第一天是周日就把它置為0 不打印額外制表符
  if(whatDay==7)
  whatDay = 0;
  //這個月的第一天是周幾就額外打印幾次制表符
  while (whatDay>0){
  System.out.print("\t\t");
  whatDay--;
  count++;
  }
  //打印天數(shù)
  System.out.print(j+"\t\t");
 }
 //打印完日歷換行
 System.out.println("\n");
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一篇文章教你將JAVA的RabbitMQz與SpringBoot整合

    一篇文章教你將JAVA的RabbitMQz與SpringBoot整合

    這篇文章主要介紹了如何將JAVA的RabbitMQz與SpringBoot整合,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-09-09
  • java AOP原理以及實例用法總結(jié)

    java AOP原理以及實例用法總結(jié)

    在本篇文章里我們給大家整理了關(guān)于java AOP原理以及相關(guān)知識點總結(jié),正在學(xué)習(xí)的朋友們參考下。
    2019-05-05
  • Jenkins配置jdk、maven、git方式

    Jenkins配置jdk、maven、git方式

    為了在Jenkins中使用Java、Maven和Git,需要在系統(tǒng)管理的全局工具配置中設(shè)置這些工具,首先,確保Jenkins主機已經(jīng)安裝了JDK、Git、Maven以及Maven的settings文件,安裝完成后,按照提示配置各個工具
    2023-04-04
  • Java進階知識之反射的概念與獲取方法

    Java進階知識之反射的概念與獲取方法

    這篇文章主要給大家介紹了關(guān)于Java進階知識之反射的概念與獲取方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java設(shè)置JSON字符串參數(shù)編碼的示例詳解

    Java設(shè)置JSON字符串參數(shù)編碼的示例詳解

    在Java中創(chuàng)建JSON字符串,我們可以使用多個庫,其中最流行的是Jackson、Gson和org.json,,下面給大家分享Java設(shè)置JSON字符串參數(shù)編碼的示例,感興趣的朋友一起看看吧
    2024-06-06
  • SpringBoot接口防重復(fù)提交的三種解決方案

    SpringBoot接口防重復(fù)提交的三種解決方案

    在Web開發(fā)中,防止用戶重復(fù)提交表單是一個常見的需求,用戶可能會因為網(wǎng)絡(luò)延遲、誤操作等原因多次點擊提交按鈕,導(dǎo)致后臺接收到多個相同的請求,本文將介紹幾種在Spring Boot中實現(xiàn)接口防重復(fù)提交的方法,需要的朋友可以參考下
    2024-11-11
  • RocketMQ整合SpringBoot實現(xiàn)生產(chǎn)級二次封裝

    RocketMQ整合SpringBoot實現(xiàn)生產(chǎn)級二次封裝

    本文主要介紹了RocketMQ整合SpringBoot實現(xiàn)生產(chǎn)級二次封裝,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Spring boot框架下的RabbitMQ消息中間件詳解

    Spring boot框架下的RabbitMQ消息中間件詳解

    這篇文章詳細介紹了Spring Boot框架下的RabbitMQ消息中間件的基本概念、消息傳輸模型、環(huán)境準(zhǔn)備、Spring Boot集成以及消息生產(chǎn)和消費,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • 一篇文章帶你入門Java變量

    一篇文章帶你入門Java變量

    這篇文章主要介紹了Java變量,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • SpringBoot項目中公共字段填充的實現(xiàn)

    SpringBoot項目中公共字段填充的實現(xiàn)

    本文主要介紹了SpringBoot項目中公共字段填充的實現(xiàn),利用SpringBoot的Aop思想和自定義注解和反射機制的方法來實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10

最新評論

上栗县| 米林县| 嘉义市| 呼伦贝尔市| 盐城市| 万年县| 辽中县| 澄城县| 休宁县| 崇义县| 西和县| 略阳县| 萨迦县| 巩义市| 石渠县| 盘锦市| 炉霍县| 金阳县| 开封县| 绵竹市| 安阳县| 中牟县| 金昌市| 巴林右旗| 甘孜县| 阿鲁科尔沁旗| 改则县| 临泉县| 若尔盖县| 永川市| 陕西省| 依兰县| 敖汉旗| 永和县| 顺义区| 固阳县| 青海省| 昌邑市| 彭山县| 汉源县| 盐源县|