Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java ตรวจสอบปีอธิกสุรทิน (Leap Year)


ในบทความนี้ เราจะทำความเข้าใจวิธาตรวจสอบว่าปีใดปีหนึ่งเป็น ปีอธิกสุรทิน (Leap Year) หรือไม่

กฎการตรวจสอบ:

  • ปีที่หารด้วย 4 ลงตัว → เป็นปีอธิกสุรทิน
  • แต่ปีที่หารด้วย 100 ลงตัว → ไม่ใช่ ปีอธิกสุรทิน
  • ยกเว้นปีที่หารด้วย 400 ลงตัว → เป็น ปีอธิกสุรทิน

ตัวอย่าง: 2000 เป็นปีอธิกสุรทิน (หาร 400 ลงตัว), 1900 ไม่ใช่ (หาร 100 ลงตัวแต่ไม่ใช่ 400), 2024 เป็นปีอธิกสุรทิน (หาร 4 ลงตัว)

ตัวอย่าง Input และ Output

Input:

Enter a year: 2000

Output:

2000 is a Leap year

อัลกอริธึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศตัวแปร int my_input และ boolean isLeap
ขั้นตอนที่ 3 - อ่านค่าจากผู้ใช้ หรือกำหนดค่าเริ่มต้น
ขั้นตอนที่ 4 - ตรวจสอบเงื่อนไขปีอธิกสุรทินด้วย if-else 巢狀
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - หยุด

ตัวอย่างที่ 1: รับค่าจากผู้ใช้

import java.util.Scanner;
public class LeapYear {
    public static void main(String[] args) {
        int my_input;
        boolean isLeap = false;
        System.out.println("Required packages have been imported");
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("A reader object has been defined");
        System.out.print("Enter the year : ");
        my_input = my_scanner.nextInt();
        if (my_input % 4 == 0) {
            if (my_input % 100 == 0) {
                if (my_input % 400 == 0)
                    isLeap = true;
                else
                    isLeap = false;
            } else
                isLeap = true;
        } else
            isLeap = false;
        if (isLeap)
            System.out.println(my_input + " is a Leap year");
        else
            System.out.println(my_input + " is not a Leap year");
    }
}

Output

Required packages have been imported
A reader object has been defined
Enter the year : 2000
2000 is a Leap year

ตัวอย่างที่ 2: กำหนดค่าไว้ล่วงหน้า

public class LeapYear {
    public static void main(String[] args) {
        int my_input = 2000;
        boolean isLeap = false;
        System.out.println("The year is defined as " + my_input);
        if (my_input % 4 == 0) {
            if (my_input % 100 == 0) {
                if (my_input % 400 == 0)
                    isLeap = true;
                else
                    isLeap = false;
            } else
                isLeap = true;
        } else
            isLeap = false;
        if (isLeap)
            System.out.println(my_input + " is a Leap year");
        else
            System.out.println(my_input + " is not a Leap year");
    }
}

Output

The year is defined as 2000
2000 is a Leap year