C語言中文網 目錄

Java判斷閏年平年并輸出某月的天數

所謂閏年,就是指 2 月有 29 天的那一年。閏年同時滿足以下條件:
  • 年份能被 4 整除。
  • 年份若是 100 的整數倍,須被 400 整除,否則是平年。

例如,1900 年能被 4 整除,但是因為其是 100 的整數倍,卻不能被 400 整除,所以是平年;而 2000 年就是閏年;1904 年和 2004 年、2008 年等直接能被 4 整除且不能被 100 整除,都是閏年;2014 是平年。

下面綜合本章學習的知識來編寫一個判斷閏年的案例,其主要功能如下:
  1. 判斷用戶輸入的年份是不是閏年。
  2.  根據年份和月份輸出某年某月的天數。

實現步驟分為以下幾步:

(1) 新建一個類并在該類中導入需要的 java.util.Scanner 類,同時需要創建該類的入口方法 main(),其實現代碼如下:
import java.util.Scanner;
public class Test27
{
    public static void main(String[] args)
    {
        // 在這里編寫其他代碼
    }
}

(2) 在 main() 方法中編寫 Java 代碼,獲取用戶輸入的年份和月份,其實現代碼如下:
Scanner sc=new Scanner(System.in);
System.out.println("請輸入年份(注: 必須大于 1990 年):");
int year=sc.nextInt();
System.out.println("請輸入月份:");
int month=sc.nextInt();

(3) 根據用戶輸入的年份,判斷該年份是閏年還是平年,其實現代碼如下:
boolean isRen;
if((year%4==0&&year%100!=0)||(year%400==0))
{
    System.out.println(year+"閏年");
    isRen=true;
}
else
{
    System.out.println(year+"平年");
    isRen=false;
}

(4) 根據用戶輸入的月份,判斷該月的天數,其實現代碼如下:
int day=0;
switch(month)
{
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        day=31;
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        day=30;
        break;
    default:
        if(isRen)
        {
            day=29;
        }
        else
        {
            day=28;
        }
        break;
}
System.out.println(year+"年"+month+"月共有"+day+"天");

(5) 該程序代碼執行結果如下所示:
請輸入年份(注: 必須大于 1990 年):
2014
請輸入月份:
2
2014平年
2014年2月共有28天
請輸入年份(注: 必須大于 1990 年):
2000
請輸入月份:
2
2000閏年
2000年2月共有29天

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo