樓上正解,不過樓主問出這個問題可能也是初學者,我就提供一下用簡單語法的代碼吧
公司主營業(yè)務:網(wǎng)站制作、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出宣化免費做網(wǎng)站回饋大家。
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("請輸入年份");
int year= scan.nextInt();//得到需求年份
System.out.println("請輸入月份");
int month=scan.nextInt();//得到需求月份
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(year+"年"+month+"月的天數(shù)為:"+31);
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(year+"年"+month+"月的天數(shù)為:"+30);
case 2:
if((year%400)==0 || ((year%4)==0)((year%100)!=0)){
System.out.println(year+"年2月的天數(shù)為:"+29);
}else{
System.out.println(year+"年2月的天數(shù)為:"+28);
}
}
}
import?java.util.*;
/**
*
*?這里沒有對輸入非數(shù)字的數(shù)進行處理!
*/
public?class?Shell?{
public?static?void?main(String[]?args)?{
Scanner?sc?=?new?Scanner(System.in);
int?y?=?0;
int?n?=?0;
//輸入年份,用于判斷閏年!
System.out.println("請輸入年份:");
y?=?sc.nextInt();
System.out.println("請輸入月份:");
n?=?sc.nextInt();
switch?(n)?{
case?1:
case?3:
case?5:
case?7:
case?8:
case?10:
case?12:
System.out.println(n?+?"月份有:31天");
break;
//對于2月份需要判斷是否為閏年
case?2:
if?((y?%?4?==?0??y?%?100?!=?0)?||?(y?%?400?==?0))?{
System.out.println(n?+?"月份有:29天");
break;
}?else?{
System.out.println(n?+?"月份有:28天");
break;
}
case?4:
case?6:
case?9:
case?11:
System.out.println(n?+?"月份有:30天");
break;
default:
System.out.println("請輸入正確的年份和月份");
break;
}
}
}
這個題目的邏輯比較簡單,先用數(shù)組記錄出一年12個月每個月的天數(shù),其中2月記錄為28天,在判斷當年是否是閏年,如果是閏年,將2月天數(shù)記錄為29天,然后輸入,例如數(shù)組month,輸出month[m - 1],這就是這個月的天數(shù)了。
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("請輸入年份");
int year = input.nextInt();
System.out.println("請輸入月份");
int month = input.nextInt();
if(month==2){
if (((year % 100 == 0) (year % 400 == 0))
|| ((year % 100 != 0) (year % 4 == 0))) {
System.out.println(month+"月份天數(shù)是29天");
return;
}else {
System.out.println(month+"月份天數(shù)是28天");
return;
}
}else if(month%2==0 ) {
System.out.println(month+"月份是30天");
}else if(month%2!=0) {
System.out.println(month+"月份是31天");
}
}
}
按照你的要求,如何得到一個月有多少天,這里并沒有說是什么年份,所以默認當年(不同年份的月份天數(shù)可能不一樣,例如閏年的二月)
因此問題變?yōu)?/p>
輸入條件:指定某一個月
輸出結果:當年這個月份的天數(shù)
思路:在Java8里新的時間API里,月份已經(jīng)被抽象成了枚舉Month,所以可以把輸入條件定義為枚舉類型的Month,然后獲取當前時間X,把時間X的月份修改為輸入條件的月份,此時時間X變?yōu)閄1,根據(jù)本身提供的方法lengthOfMonth就可以直接得到X1所在當月的天數(shù)了
代碼:(請將JDK升到8)
public?static?void?main(String[]?args)?{
System.out.println(countDaysInMonth(Month.MAY));
}
public?static?int?countDaysInMonth(Month?month){
//?獲取當前時間
LocalDate?now?=?LocalDate.now();
System.out.println(now);
//?把當前時間的月份修改為輸入的月份
LocalDate?thisMonthDate?=?now.withMonth(month.getValue());
System.out.println(thisMonthDate);
return?thisMonthDate.lengthOfMonth();
}
也可以連著寫,更美觀點
public?static?int?countDaysInMonth(Month?month){
return?LocalDate.now()
.withMonth(month.getValue())
.lengthOfMonth();
}
非常直觀且易懂好用,在Java8里with就代表著修改意思,withMonth那就是修改月份,所以整個代碼讀下來就變成
獲取當前時間A
修改A的月份為輸入條件得到時間B
計算B所在月的天數(shù)
代碼實現(xiàn)如下:
package test01;
import java.util.Calendar;
/**
*
* @author 碼靈
* 20170905
*
*/
public class GetDay {
public static void main(String[] args) {
int currentMaxDays = getCurrentMonthDay();
int maxDaysByDate = getDaysByYearMonth(2017, 9);
System.out.println("本月天數(shù):" + currentMaxDays);
System.out.println("2017年9月天數(shù):" + maxDaysByDate);
}
/**
* 獲取當月的 天數(shù)
*/
public static int getCurrentMonthDay() {
Calendar a = Calendar.getInstance();
a.set(Calendar.DATE, 1);
a.roll(Calendar.DATE, -1);
int maxDate = a.get(Calendar.DATE);
return maxDate;
}
/**
* 根據(jù)年 月 獲取對應的月份 天數(shù)
*/
public static int getDaysByYearMonth(int year, int month) {
Calendar a = Calendar.getInstance();
a.set(Calendar.YEAR, year);
a.set(Calendar.MONTH, month - 1);
a.set(Calendar.DATE, 1);
a.roll(Calendar.DATE, -1);
int maxDate = a.get(Calendar.DATE);
return maxDate;
}
}
標題名稱:判斷月天數(shù)的java代碼 java輸入年份和月份判斷該月天數(shù)
標題來源:http://muchs.cn/article10/hjsgdo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、網(wǎng)頁設計公司、企業(yè)網(wǎng)站制作、Google、網(wǎng)站收錄、
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)