Bài 20. Kiểm Tra Số Ngày Trong Tháng Với Switch ... Case | Tự Học Java Căn Bản

Published on
Thuộc danh mục: Học Java Căn Bản|Đăng bởi: Lê Thanh Giang||5 min read
Facebook share iconLinkedIn share iconTwitter share iconPinterest share iconTumblr share icon
Bài 20. Kiểm Tra Số Ngày Trong Tháng Bằng Switch ... Case | Tự Học Java Căn Bản

Để giải bài toán kiểm tra số ngày trong tháng bằng câu lệnh switch trong Java, trước khi viết code, bạn cần phải lên kế hoạch rõ ràng các bước. Dưới đây là các bước chi tiết để giải quyết bài toán này:

Các Bước Giải Quyết Bài Toán

  1. Xác Định Đầu Vào

    • Người dùng sẽ nhập vào 2 giá trị: tháng (1 - 12) và năm (có thể là năm nhuận hoặc không).
    • Các giá trị này sẽ được lấy từ bàn phím hoặc giao diện người dùng.
  2. Kiểm Tra Tính Hợp Lệ Của Tháng

    • Tháng phải nằm trong khoảng từ 1 đến 12.
    • Nếu giá trị tháng không hợp lệ, cần hiển thị thông báo lỗi và kết thúc chương trình hoặc yêu cầu người dùng nhập lại.
  3. Xử Lý Số Ngày Trong Các Tháng Cố Định

    • Các tháng có số ngày cố định:
      • Tháng 1, 3, 5, 7, 8, 10, 12 có 31 ngày.
      • Tháng 4, 6, 9, 11 có 30 ngày.
    • Sử dụng câu lệnh switch để xử lý các tháng này.
  4. Xử Lý Tháng 2

    • Tháng 2 có số ngày thay đổi tuỳ thuộc vào năm nhuận.
    • Cần kiểm tra xem năm có phải là năm nhuận hay không:
      • Năm nhuận nếu năm chia hết cho 4, nhưng không chia hết cho 100, hoặc chia hết cho 400.
      • Nếu năm là năm nhuận, tháng 2 có 29 ngày; nếu không, tháng 2 có 28 ngày.
  5. Hiển Thị Kết Quả

    • Sau khi xác định số ngày trong tháng, in ra kết quả cho người dùng, bao gồm:
    • Số ngày trong tháng tương ứng với tháng và năm đã nhập.
  6. Xử Lý Lỗi (nếu có)

    • Nếu người dùng nhập tháng không hợp lệ (không phải từ 1 đến 12), chương trình cần thông báo lỗi và kết thúc hoặc yêu cầu nhập lại.
    • Nếu năm nhập vào không hợp lệ (như năm âm), chương trình cần xử lý.

Tiến Hành Viết Code

Dưới đây là mã Java cho bài toán kiểm tra số ngày trong tháng:

import java.util.Scanner;

public class DaysInMonth {
    public static void main(String[] args) {
        // Bước 1: Nhập dữ liệu tháng và năm
        Scanner scanner = new Scanner(System.in);
        System.out.print("Nhập số tháng (1-12): ");
        int month = scanner.nextInt();  // Nhập tháng

        System.out.print("Nhập năm: ");
        int year = scanner.nextInt();   // Nhập năm

        // Bước 2: Kiểm tra tính hợp lệ của tháng
        if (month < 1 || month > 12) {
            System.out.println("Tháng không hợp lệ.");
            return; // Kết thúc chương trình nếu tháng không hợp lệ
        }

        // Bước 3: Khai báo biến lưu số ngày trong tháng
        int daysInMonth = 0;

        // Bước 4: Xử lý số ngày trong tháng qua câu lệnh switch
        switch (month) {
            case 1: // Tháng 1
            case 3: // Tháng 3
            case 5: // Tháng 5
            case 7: // Tháng 7
            case 8: // Tháng 8
            case 10: // Tháng 10
            case 12: // Tháng 12
                daysInMonth = 31;
                break;
            case 4: // Tháng 4
            case 6: // Tháng 6
            case 9: // Tháng 9
            case 11: // Tháng 11
                daysInMonth = 30;
                break;
            case 2: // Tháng 2
                // Kiểm tra năm nhuận
                if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
                    daysInMonth = 29; // Năm nhuận
                } else {
                    daysInMonth = 28; // Năm không nhuận
                }
                break;
        }

        // Bước 5: Hiển thị kết quả
        System.out.println("Số ngày trong tháng " + month + " năm " + year + " là: " + daysInMonth);
    }
}

Chạy và Kiểm Tra Kết Quả Bài Toán

Sau khi triển khai mã nguồn, chương trình sẽ yêu cầu bạn nhập vào tháng và năm để kiểm tra số ngày trong tháng. Dưới đây là một số ví dụ và kết quả khi chạy chương trình:

Ví dụ 1:

  • Nhập: Tháng = 2, Năm = 2024
  • Kết quả: "Số ngày trong tháng 2 năm 2024 là: 29"
  • Giải thích: Vì năm 2024 là năm nhuận, nên tháng 2 có 29 ngày.

Ví dụ 2:

  • Nhập: Tháng = 2, Năm = 2023
  • Kết quả: "Số ngày trong tháng 2 năm 2023 là: 28"
  • Giải thích: Năm 2023 không phải là năm nhuận, vì vậy tháng 2 có 28 ngày.

Ví dụ 3:

  • Nhập: Tháng = 4, Năm = 2023
  • Kết quả: "Số ngày trong tháng 4 năm 2023 là: 30"
  • Giải thích: Tháng 4 có 30 ngày trong mọi năm.

Ví dụ 4:

  • Nhập: Tháng = 12, Năm = 2025
  • Kết quả: "Số ngày trong tháng 12 năm 2025 là: 31"
  • Giải thích: Tháng 12 luôn có 31 ngày.

Ví dụ 5:

  • Nhập: Tháng = 13, Năm = 2025
  • Kết quả: "Tháng không hợp lệ."
  • Giải thích: Số tháng phải trong phạm vi từ 1 đến 12, nên tháng 13 là không hợp lệ.

Tóm Tắt Các Bước Cần Thực Hiện

  1. Nhập tháng và năm từ người dùng.
  2. Kiểm tra tính hợp lệ của tháng (phải trong khoảng 1 - 12).
  3. Xử lý các tháng có số ngày cố định (31 hoặc 30 ngày).
  4. Kiểm tra tháng 2 và tính số ngày trong tháng dựa trên năm nhuận.
  5. In ra kết quả số ngày trong tháng tương ứng.
  6. Thông báo lỗi nếu tháng nhập vào không hợp lệ hoặc có lỗi khác.

Bây giờ, bạn có thể dễ dàng áp dụng các bước này để viết mã cho bài toán kiểm tra số ngày trong tháng bằng switch case trong Java!

Bài tiếp theo: Bài 21. Cách sử dụng vòng lặp for trong Java

Bài viết mới nhất

Bài viết liên quan

Newsletter border

Đăng ký để nhận tin từ RiverLee