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

java萬年歷,獲取該年月日歷表

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

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

輸入年份和月份,打印出這個月的日歷表
    1.1900年1月1日是星期一
    2.計算輸入的年份距離1900年有多少天再計算當(dāng)年1月1日距這個月有多少天
    3.總天數(shù)%7得出從星期幾開始
    注:計算機(jī)中的時間最小到1900年,此外UNIX系統(tǒng)認(rèn)為1970年1月1日0點是時間紀(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("請輸入年份:");
 int year = sc.nextInt();
 System.out.println("請輸入月份(1~12):");
 int month = sc.nextInt();
 int days = getDays(year, month);//getDays方法詳細(xì)請往下看
 //days+1:day是總天數(shù),輸入月份的總天數(shù)只是這個月之前的天數(shù),
 //加上1變?yōu)檫@個月開始的第一天
 int week = days%7==0?1:days%7+1;//開始的第一天是星期幾
 System.out.println("日\t一\t二\t三\t四\t五\t六");
 //輸出第一行(第一個星期)空出來部分
 for(int i=1; i<=week; i++){
  System.out.print(" \t");
 }
 //輸出第一行(第一個星期)各天
 for(int i=1; i<=7-week; i++){
  System.out.print(i+"\t");
 }
 System.out.println();
 //1~12月的個月天數(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;
  }
 //輸出剩下的日期,從第二周開始了,所以是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();
  }
 }

 }
 /*
 計算當(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;
 }
 }

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

相關(guān)文章

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

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

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

    Android中fragment嵌套fragment問題解決方法

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

    Android忽略文件實例代碼

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

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

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

    Android 10.0截屏流程詳解

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

    Android實現(xiàn)檢測手機(jī)搖晃的監(jiān)聽器

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

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

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

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

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

    RxJava入門之介紹與基本運用

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

    一個Activity中多個Fragment的切換

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

最新評論