java控制臺打印本月的日歷-創(chuàng)新互聯(lián)

Java在控制臺打印本月日歷

網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了沙灣免費建站歡迎大家使用!

在學習《Java核心技術(shù)卷I·基礎知識》第10版 的時候里面有一個小例子,就是在控制臺上打印日歷的一個例子,就想自己試試。

代碼如下:

import java.time.LocalDate;

public class TestScanner {

  public static void main(String[] args) {
    rili();
  }

  private static void rili() {

    System.out.println(" Mon Tue Web Thu Fri Sta Sun");
    //獲取當前日期
    LocalDate now = LocalDate.now();
    //獲取當前月份
    int nowMonth = now.getMonthValue();
    //獲取今天是幾號
    int nowDay = now.getDayOfMonth();
    //在外部設置一個月份的變量,用于與當前月份進行判斷
    int dayOfMonth = nowMonth;
    //獲取本月月初的日期
    now = now.minusDays(nowDay - 1);
    //獲取月初是星期幾
    int firstWeek = now.getDayOfWeek().getValue();
    String blank = "";
    for(int i = 0; i < firstWeek; i++) {
      blank += "  ";
    }
    //如果1號是星期一的話前面添加三個空格
    if(firstWeek != 1) {
      //截取最后一個空格用于存放日期,不然的話會錯位
      blank = blank.substring(0, blank.length() - 1);
    } else {
      blank = "  ";
    }
    //打印日期
    System.out.print(blank + now.getDayOfMonth());
    //如果加1天之后的日期還是本月份的就一直打印
    while(dayOfMonth == nowMonth) {
      //加1天
      now = now.plusDays(1L);
      //獲取加1天之后的月份
      dayOfMonth = now.getMonthValue();
      //如果加一天之后的月份不等于當前月份,就直接跳出循環(huán)
      if (dayOfMonth != nowMonth) {
        break;
      }
      //判斷如果日期為雙位數(shù),就在前面添加兩個空格,否則就添加三個空格
      if (now.getDayOfMonth() < 10) {
        //判斷加一天之后的日期是否和今天相等,如果相等就在前面加個*
        if (now.getDayOfMonth() == nowDay) {
          System.out.print(" *" + now.getDayOfMonth());
        } else {
          System.out.print("  " + now.getDayOfMonth());
        }
      } else {
        if (now.getDayOfMonth() == nowDay) {
          System.out.print(" *" + now.getDayOfMonth());
        } else {
          System.out.print(" " + now.getDayOfMonth());
        }
      }
      //獲取加一天之后的星期數(shù)
      int week = now.getDayOfWeek().getValue();
      //如果是星期日,就換行
      if (week == 7) {
        System.out.println();
      }
    }
  }


}

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站www.muchs.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:java控制臺打印本月的日歷-創(chuàng)新互聯(lián)
分享URL:http://www.muchs.cn/article12/depcdc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、電子商務App開發(fā)、外貿(mào)網(wǎng)站建設營銷型網(wǎng)站建設、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司