敘述的組成
Java語言的結構
文字描述如何判斷閏年 透過西元幾年來判斷閏年:4的倍數的年份是閏年,100的倍數的年份是平年,400的倍數的年份是閏年,也就是說,400年中,只有97個閏年(4的倍數有100個,100的倍數有4個,400的倍數有1個)。
以流程圖(Flow Chart)來表示
以程式來表示
#include <stdio.h> int main() { int year; printf("Please input an the year:"); // 提示使用者輸入資料 if (scanf("%d", &year) != 1) { // 輸入年份year printf("輸入錯誤\n"); return; } if (year%4 == 0) { if (year%100 == 0) { if (year%400 == 0) { printf("%d是閏年\n", year); } else { printf("%d不是閏年\n", year); } } else { printf("%d是閏年\n", year); } } else { printf("%d不是閏年\n", year); } }如果我們把所有可得到閏年的路徑,集合在一起,則更簡潔的寫法是
#include <stdio.h> int main() { int year; printf("Please input the year:"); // 提示使用者輸入資料 if (scanf("%d", &year) != 1) { // 輸入年份year printf("輸入錯誤\n"); return; } if (year%400 == 0 || year%4 == 0 && year%100 != 0) { printf("%d是閏年\n", year); } else { printf("%d不是閏年\n", year); } }Java的範例
import java.util.*; public class Leap { public static void main(String[] argv) throws Exception { int year = 1984; System.out.println("Please input the year:"); Scanner in = new Scanner(System.in); if (!in.hasNextInt()) { System.out.println("輸入錯誤"); return; } year = in.nextInt(); if (year%400 == 0 || year%4 == 0 && year%100 != 0) { System.out.println(year+"是閏年"); } else { System.out.println(year+"不是閏年"); } } }