国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java萬年歷,輸入年月獲取改年月日歷表

2019-11-15 00:56:02
字體:
來源:轉載
供稿:網友
java萬年歷,輸入年月獲取改年月日歷表
  1 //輸入年份和月份,打印出這個月的日歷表  2 /*  3     1.1900年1月1日是星期一  4     2.計算輸入的年份距離1900年有多少天再計算當年1月1日距這個月有多少天  5         1)  6     3.總天數%7得出從星期幾開始  7     注:計算機中的時間最小到1900年,此外UNIX系統認為1970年1月1日0點是時間紀元。  8     so,在本程序中不考了1900年以前的年份了。有興趣的可以自己研究下。  9 */ 10 import java.util.Scanner; 11 class Calender{ 12  13     public static void main(String[] args){ 14          15         PRint(); 16  17     } 18  19     //打印輸出 20     public static void print(){ 21         Scanner sc = new Scanner(System.in); 22         System.out.println("請輸入年份:"); 23         int year = sc.nextInt(); 24         System.out.println("請輸入月份(1~12):"); 25         int month = sc.nextInt(); 26  27         int days = getDays(year, month);//getDays方法詳細請往下看 28         //days+1:day是總天數,輸入月份的總天數只是這個月之前的天數, 29         //加上1變為這個月開始的第一天 30         int week = days%7==0?1:days%7+1;//開始的第一天是星期幾 31         System.out.println("日/t一/t二/t三/t四/t五/t六"); 32          33         //輸出第一行(第一個星期)空出來部分 34         for(int i=1; i<=week; i++){ 35             System.out.print(" /t"); 36         } 37  38         //輸出第一行(第一個星期)各天 39         for(int i=1; i<=7-week; i++){ 40             System.out.print(i+"/t"); 41         } 42  43         System.out.println(); 44  45         //1~12月的個月天數 46         int monthDay = 0; 47         switch(month){ 48                 case 2: 49                     if(year%4==0&&year%100!=0 || year%400==0 ){ 50                         monthDay=29; 51                     }else{ 52                         monthDay=28; 53                     } 54                     break; 55  56                 case 4: 57                 case 6: 58                 case 9: 59                 case 11: 60                     monthDay=30; 61                     break; 62  63                 default : 64                     monthDay=31; 65                     break; 66             } 67  68         //輸出剩下的日期,從第二周開始了,所以是8-week 69         for(int i=8-week; i<=monthDay; i++){ 70      71             System.out.print(i+"/t"); 72              73             //每七天換一行則當日期能整除7就換行 74             if((i+week)%7==0){ 75                 System.out.println(); 76             } 77         } 78  79  80     } 81  82     /* 83         計算當年當月的距1900年1.1的總天數 84     */ 85     public static int getDays(int year, int month){ 86         //判斷這年是閏年或者平年,得到年的總天數 87         int day1=0, day2=0; 88  89         for(int i=1900; i<year; i++){ 90             if(i%4==0&&i%100!=0 || i%400==0){ 91                 day1+=366; 92             }else{ 93                 day1+=365; 94             } 95         } 96      97         //得到月的總天數 98         for(int i=1; i<month; i++){ 99             switch(i){100                 case 2:101                     if(year%4==0&&year%100!=0 || year%400==0 ){102                         day2+=29;103                     }else{104                         day2+=28;105                     }106                     break;107 108                 case 4:109                 case 6:110                 case 9:111                 case 11:112                     day2+=30;113                     break;114 115                 default :116                     day2+=31;117                     break;118             }119         }120     121         return day1+day2;122 123     }124     125 }


上一篇:JDBC的幾個步驟

下一篇:equals()方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昭通市| 安龙县| 翁牛特旗| 唐山市| 石台县| 河西区| 武胜县| 徐州市| 农安县| 阿鲁科尔沁旗| 比如县| 仙居县| 宿州市| 澄城县| 内丘县| 保德县| 青河县| 都兰县| 柳州市| 翁源县| 吉安县| 建湖县| 沙田区| 慈溪市| 敦煌市| 古田县| 黄平县| 广南县| 房产| 榕江县| 民乐县| 金湖县| 翼城县| 黄骅市| 阿瓦提县| 广汉市| 兴和县| 张家界市| 横山县| 合水县| 共和县|