欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java萬(wàn)年歷,獲取該年月日歷表

 更新時(shí)間:2015年07月21日 11:37:57   投稿:mrr  
這篇文章主要介紹了java獲取對(duì)應(yīng)年月分日歷表有需要的朋友可以來(lái)參考下

這篇文章應(yīng)用java技術(shù)輸入年份和月份獲取該年月日歷表,下面通過(guò)一段代碼給大家做展示:

輸入年份和月份,打印出這個(gè)月的日歷表
    1.1900年1月1日是星期一
    2.計(jì)算輸入的年份距離1900年有多少天再計(jì)算當(dāng)年1月1日距這個(gè)月有多少天
    3.總天數(shù)%7得出從星期幾開(kāi)始
    注:計(jì)算機(jī)中的時(shí)間最小到1900年,此外UNIX系統(tǒng)認(rèn)為1970年1月1日0點(diǎn)是時(shí)間紀(jì)元。
    so,在本程序中不考了1900年以前的年份了。有興趣的可以自己研究下。

import java.util.Scanner;
class Calender{
 public static void main(String[] args){
 print();
 }
 //打印輸出
 public static void print(){
 Scanner sc = new Scanner(System.in);
 System.out.println("請(qǐng)輸入年份:");
 int year = sc.nextInt();
 System.out.println("請(qǐng)輸入月份(1~12):");
 int month = sc.nextInt();
 int days = getDays(year, month);//getDays方法詳細(xì)請(qǐng)往下看
 //days+1:day是總天數(shù),輸入月份的總天數(shù)只是這個(gè)月之前的天數(shù),
 //加上1變?yōu)檫@個(gè)月開(kāi)始的第一天
 int week = days%7==0?1:days%7+1;//開(kāi)始的第一天是星期幾
 System.out.println("日\(chéng)t一\t二\t三\t四\t五\t六");
 //輸出第一行(第一個(gè)星期)空出來(lái)部分
 for(int i=1; i<=week; i++){
  System.out.print(" \t");
 }
 //輸出第一行(第一個(gè)星期)各天
 for(int i=1; i<=7-week; i++){
  System.out.print(i+"\t");
 }
 System.out.println();
 //1~12月的個(gè)月天數(shù)
 int monthDay = 0;
 switch(month){
  case 2:
   if(year%4==0&&year%100!=0 || year%400==0 ){
   monthDay=29;
   }else{
   monthDay=28;
   }
   break;
  case 4:
  case 6:
  case 9:
  case 11:
   monthDay=30;
   break;
  default :
   monthDay=31;
   break;
  }
 //輸出剩下的日期,從第二周開(kāi)始了,所以是8-week
 for(int i=8-week; i<=monthDay; i++){
  System.out.print(i+"\t");
  //每七天換一行則當(dāng)日期能整除7就換行
  if((i+week)%7==0){
  System.out.println();
  }
 }

 }
 /*
 計(jì)算當(dāng)年當(dāng)月的距1900年1.1的總天數(shù)
 */
 public static int getDays(int year, int month){
 //判斷這年是閏年或者平年,得到年的總天數(shù)
 int day1=0, day2=0;
 for(int i=1900; i<year; i++){
  if(i%4==0&&i%100!=0 || i%400==0){
  day1+=366;
  }else{
  day1+=365;
  }
 }
 //得到月的總天數(shù)
 for(int i=1; i<month; i++){
  switch(i){
  case 2:
   if(year%4==0&&year%100!=0 || year%400==0 ){
   day2+=29;
   }else{
   day2+=28;
   }
   break;
  case 4:
  case 6:
  case 9:
  case 11:
   day2+=30;
   break;
  default :
   day2+=31;
   break;
  }
 }
 return day1+day2;
 }
 }

以上是萬(wàn)年歷代碼實(shí)現(xiàn)過(guò)程,希望對(duì)大家有所幫助。

相關(guān)文章

  • Android學(xué)習(xí)教程之圓形Menu菜單制作方法(1)

    Android學(xué)習(xí)教程之圓形Menu菜單制作方法(1)

    這篇文章主要為大家詳細(xì)介紹了Android學(xué)習(xí)教程之圓形Menu菜單操作代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android中fragment嵌套fragment問(wèn)題解決方法

    Android中fragment嵌套fragment問(wèn)題解決方法

    這篇文章主要介紹了Android中fragment嵌套fragment問(wèn)題解決方法,本文給出兩個(gè)解決方法,需要的朋友可以參考下
    2015-06-06
  • Android忽略文件實(shí)例代碼

    Android忽略文件實(shí)例代碼

    這篇文章主要介紹了Android忽略文件的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Android實(shí)現(xiàn)地圖軌跡的方法

    Android實(shí)現(xiàn)地圖軌跡的方法

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)地圖軌跡的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Android 10.0截屏流程詳解

    Android 10.0截屏流程詳解

    這篇文章主要為大家介紹了Android 10.0截屏流程詳解,通常未通過(guò)特殊定制的 Android 系統(tǒng),截屏都是經(jīng)過(guò)同時(shí)按住音量下鍵和電源鍵來(lái)截屏,本篇文章就只討論使用這些特殊按鍵來(lái)進(jìn)行截屏
    2023-06-06
  • Android實(shí)現(xiàn)檢測(cè)手機(jī)搖晃的監(jiān)聽(tīng)器

    Android實(shí)現(xiàn)檢測(cè)手機(jī)搖晃的監(jiān)聽(tīng)器

    本文給大家分享一段代碼實(shí)現(xiàn)檢測(cè)手機(jī)搖晃的監(jiān)聽(tīng)器,代碼簡(jiǎn)單易懂,非常不錯(cuò),感興趣的朋友參考下吧
    2016-12-12
  • Kotlin入門(mén)學(xué)習(xí)教程之可見(jiàn)性修飾符

    Kotlin入門(mén)學(xué)習(xí)教程之可見(jiàn)性修飾符

    在Kotlin中,不管是類(lèi)、接口、構(gòu)造函數(shù)、函數(shù)、屬性及其設(shè)置器都具有可見(jiàn)性修飾符,下面這篇文章主要給大家介紹了關(guān)于Kotlin入門(mén)學(xué)習(xí)教程之可見(jiàn)性修飾符的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 解析Android獲取系統(tǒng)cpu信息,內(nèi)存,版本,電量等信息的方法詳解

    解析Android獲取系統(tǒng)cpu信息,內(nèi)存,版本,電量等信息的方法詳解

    本篇文章對(duì)用Android獲取系統(tǒng)cpu信息,內(nèi)存,版本,電量等信息的方法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下
    2013-05-05
  • RxJava入門(mén)之介紹與基本運(yùn)用

    RxJava入門(mén)之介紹與基本運(yùn)用

    對(duì)于Android開(kāi)發(fā)者來(lái)說(shuō),當(dāng)有一天打開(kāi)技術(shù)論壇、博客滿(mǎn)屏都是各種Rx的時(shí)候,心里是很慌的。所以趁著現(xiàn)在跟著小編通過(guò)這篇文章先來(lái)簡(jiǎn)單認(rèn)識(shí)下RxJava,以及RxJava的基本運(yùn)用。對(duì)這感興趣的朋友下面來(lái)一起看看吧。
    2016-09-09
  • 一個(gè)Activity中多個(gè)Fragment的切換

    一個(gè)Activity中多個(gè)Fragment的切換

    經(jīng)常會(huì)遇到在一個(gè)activity界面上布局多個(gè)fragment,但是如何從一個(gè)fragment跳轉(zhuǎn)到另一個(gè)fragment呢?本文主要對(duì)一個(gè)Activity中多個(gè)Fragment的切換進(jìn)行介紹,下面跟著小編一起來(lái)看下吧
    2017-01-01

最新評(píng)論