82 Java程式判斷某一年的某個月有多少天?

2021-07-12 03:13:19 字數 1688 閱讀 8112

要求是這樣,提示要求輸入一串整數字元的字串(yyyymm)作為乙個檢視的年份和月份,判斷一下這個月有多少個自然日,也即多少天。

如果數字的字串超出限制或不合法,則輸出錯誤提示,並提示重新輸入,直到正確並計算結果。

第乙個要考慮的問題,如何判斷月份。

我們會用乙個switch語句區分大小月:

一三五七八十臘,三十一天永不差。

剩下的除了二月份需要判斷平閏年之外都是三十天。

如圖:

第二要考慮的問題,就是怎麼判斷平閏年。

乙個年份數可以被100整除的話,如果同時也可以被4整除才是閏年,否則的話ta是平年。

乙個年份數不能被100整除的話,如果ta此時可以被4整除也是閏年,否則的話ta是平年。

如圖:

接下來,如果獲得乙個年份和月份的數字呢?

這是我們今天的重頭戲。

我們需要做許多判斷,這裡,我們分很多步驟來詳述。

獲取輸入引數,這裡用scanner類的非靜態nextint()方法。

但是,如果輸入的是字母,或者位數不足,不符合yyyymm格式,那不就麻煩了?所以,我們還需要加以判斷。

這裡就不能直接從scanner裡面獲取數字了,我們要獲取的是字串,

scanner sc = new scanner(system.in);

string str = sc.nextline();

然後用正規表示式判斷一下。

上一步驟中的正則我們偷了一點兒小懶,是為了讓大家更容易理解。

所以,這裡我們還缺少對月份的判斷。很簡單,如圖:

最後,我們寫乙個main方法測試一下,看看是否是咱預期的效果。

string number = scannernumber();

int year = integer.parseint(number.substring(0, 4));

int month = integer.parseint(number.substring(4));

system.out.println("this is month has " + daysofthismonth(year, month));

end

判斷某一天是這一年的第多少天

先判斷是否是閏年 def leap year year 判斷是否為閏年 return year 4 0 and year 100 0 or year 100 0再計算天數 def day of year year,month,day 計算傳入的日期是這一年的第多少天 days of month 31...

mysql 查詢某一年 某一月 某一天的資料

查詢某一年 某一月 某一天的資料 可組合 select fromymt where date format indate,y m d 2016 10 10 indate為表中列名 mysql查詢一天,查詢一周,查詢乙個月內的資料 查詢一天 select from ymt where date ind...

mysql 查詢今天 某一天 某一月 某一年的資料

今天 select from 表名 where to days 時間欄位名 to days now 昨天 包括昨天和今天的資料 select from 表名 where to days now to days 時間欄位名 1昨天 只包括昨天 select from 表名 where to days ...