Chương trình Kotlin kiểm tra năm nhuận

Trong chương trình này, bạn sẽ học cách kiểm tra xem năm đã cho có phải là năm nhuận hay không trong Kotlin. Điều này được kiểm tra bằng cách sử dụng câu lệnh if else và câu lệnh when.

Một năm nhuận chính xác là chia hết cho 4 trừ năm thế kỷ (năm kết thúc bằng 00). Năm thế kỷ chỉ là năm nhuận nếu nó chia hết cho 400.

Ví dụ 1: Chương trình Kotlin kiểm tra một năm nhuận bằng câu lệnh if else

 fun main(args: Array) ( val year = 1900 var leap = false if (year % 4 == 0) ( if (year % 100 == 0) ( // year is divisible by 400, hence the year is a leap year leap = year % 400 == 0 ) else leap = true ) else leap = false println(if (leap) "$year is a leap year." else "$year is not a leap year.") )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Năm 1900 không phải là một năm nhuận.

Trong chương trình trên, năm 1900 nhất định được lưu trữ trong năm biến đổi.

  • Vì năm 1900 chia hết cho 4 và cũng là một năm của thế kỷ (kết thúc bằng 00), nên nó có thể chia hết cho 400 trong một năm nhuận. Vì nó không chia hết cho 400, năm 1900 không phải là một năm nhuận.
  • Nhưng, nếu chúng ta thay đổi năm thành 2000, nó chia hết cho 4, là một thế kỷ và cũng chia hết cho 400. Vì vậy, 2000 là một năm nhuận.
  • Tương tự như vậy, Nếu chúng ta thay đổi năm thành 2012, nó chia hết cho 4 và không phải là năm thế kỷ, do đó 2012 là một năm nhuận. Chúng ta không cần kiểm tra xem 2012 có chia hết cho 400 hay không.

Đây là mã Java tương đương: Chương trình Java để kiểm tra năm nhuận

Ví dụ 2: Chương trình Kotlin để Kiểm tra Năm nhuận sử dụng biểu thức when

 fun main(args: Array) ( val year = 2012 var leap = false leap = when ( year % 4 == 0 -> ( when ( year % 100 == 0 -> year % 400 == 0 else -> true ) ) else -> false ) println(if (leap) "$year is a leap year." else "$year is not a leap year.") )

Khi chạy chương trình, kết quả đầu ra sẽ là:

 2012 là một năm nhuận.

Trong chương trình trên, thay vì sử dụng câu lệnh if else, chúng ta đã sử dụng biểu thức when.

Các whenbiểu hiện hoạt động như:

  • Khi năm chia hết cho 4
    • Một whenbiểu thức khác được nhập để kiểm tra xem năm có chia hết cho 100 không
      • Nếu có, nó sẽ kiểm tra lại xem năm có chia hết cho 400 hay không và trả về truehoặcfalse
    • Nếu không chia hết cho 100, năm không phải là năm thế kỷ (kết thúc bằng 00) và trả về true
  • Nếu năm không chia hết cho 4, nó trả về false

Dựa trên giá trị của bước nhảy, nó sẽ in đầu ra bằng cách sử dụng nội tuyến nếu khác.

thú vị bài viết...