Chương trình Java tính toán xem một năm có phải là năm nhuận hay không? | Java program calculate a year have leap year or not?

Chương trình Java sau đây là một ví dụ cơ bản về việc áp dụng công thức tính năm nhuận vào trong ngôn ngữ lập trình Java. Trong chương trình tôi có sử dụng một số kỹ thuật xử lý lỗi ngoại lệ phát sinh như NumberFormatExceptio, và IOException để đảm bảo giá trị nhập đầu vào (radius) dùng để tính toán là hợp lệ.



LeapYearCalculate.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package z_test;

/**
 *
 * @author VNLIVES.NET
 */

/**
 *
 * ***********************************************************************
 * To determine whether a year is a leap year, follow these steps:
 * 1. If the year is evenly divisible by 4, go to step 2. Otherwise, go to step 5.
 * 2. If the year is evenly divisible by 100, go to step 3. Otherwise, go to step 4.
 * 3. If the year is evenly divisible by 400, go to step 4. Otherwise, go to step 5.
 * 4. The year is a leap year (it has 366 days).
 * 5. The year is not a leap year (it has 365 days).
 * ---------------------------------------
 * Để tính một năm có phải là năm nhuận hay không? Bạn Làm theo các bước sau:
 * 1. Nếu năm đều chia 4, hãy đi tới bước 2. Nếu không, hãy đi tới bước 5.
 * 2. Nếu năm chia hết 100, hãy đi tới bước 3. Nếu không, hãy đi tới bước 4.
 * 3. Nếu năm chia hết cho 400, đi tới bước 4. Nếu không, hãy đi tới bước 5.
 * 4. Đây là năm nhuận (có 366 ngày).
 * 5. Năm không phải là một năm nhuận(có 365 ngày).
 *
 * Prints true if N corresponds to a leap year, and false otherwise. Assumes N
 * >= 1582, corresponding to a year in the Gregorian calendar.
 * % java LeapYear 2004 true
 * % java LeapYear 1900 false
 * % java LeapYear 2012 true
 ************************************************************************
 *
 */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class LeapYearCalculate {

    /**
     *
     * @param args the command line arguments
     *
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int year = 0;
        System.out.print("Please enter radius of a circle: ");
        boolean isLeapYear;
       
        try {
            //get the radius from console
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            year = Integer.parseInt(br.readLine());
            // divisible by 4
            isLeapYear = (year % 4 == 0);
            // divisible by 4 and not 100
            isLeapYear = isLeapYear && (year % 100 != 0);
           
            // divisible by 4 and not 100 unless divisible by 400
            isLeapYear = isLeapYear || (year % 400 == 0);
            System.out.println("Is Leap Year: " + isLeapYear);
           
        } //if invalid value was entered
        catch (NumberFormatException ne) {
            System.out.println("Invalid radius value: " + ne);
            System.exit(0);

        } catch (IOException ioe) {
            System.out.println("IO Error: " + ioe);
            System.exit(0);

        }
    }
}


Kết Quả - Result








No comments:

Post a Comment