Chương Trình Java Tìm Số Ngày Của Tháng Trong Một Năm
Có thể bạn quan tâm
1. Quy tắc số ngày của tháng trong một năm
Một năm có 12 tháng, mỗi tháng sẽ có số ngày khác nhau.
Các tháng có 31 ngày là 1, 3, 5, 7, 8, 10, 12. Các tháng có 30 ngày là 4, 6, 9, 11. Tháng 2 có 28 ngày nếu thuộc năm không nhuận, có 29 nếu thuộc năm nhuận.
Vậy năm nhuận là năm như thế nào? Năm nhuận là năm chia hết cho 4 nhưng không chia hết 100 hoặc chia hết 400.
Chương trình tìm số ngày của tháng trong một năm được thực hiện như sau:
– Nhập tháng và năm từ bàn phím.
– Kiểm tra nếu tháng là 1, 3, 5, 7, 8, 10, 12 thì in ra màn hình tháng đó có 31 ngày. Nếu tháng là 4, 6, 9, 11 thì in ra màn hình tháng đó có 30 ngày.
– Kiểm tra nếu tháng là 2 thì kiểm tra năm nhuận. Nếu năm nhuận thì in ra màn hình tháng 2 có 29 ngày, ngược lại tháng 2 có 28 ngày.
– Nếu giá trị tháng không nằm trong khoảng từ 1 đến 12 thì in ra màn hình tháng không hợp lệ.
2. Sử dụng câu lệnh switch case trong Java
Sử dụng câu lệnh switch case để kiểm tra các tháng.package numberdayinmonth; import java.util.Scanner; public class NumberDayInMonth { public static boolean checkYear(int nam) { return (nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0; } public static void main(String[] args) { int month, year; Scanner input = new Scanner(System.in); System.out.print("Input month: "); month = input.nextInt(); System.out.print("Input year: "); year = input.nextInt(); switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.print("Month " + month + "th has 31 days."); break; case 4: case 6: case 9: case 11: System.out.print("Month " + month + "th has 30 days."); break; case 2: if (checkYear(year)) { System.out.print("Month " + month + "th has 29 days."); } else { System.out.print("Month " + month + "th has 28 days."); } break; default: System.out.print("Invalid month."); } } }
3. Sử dụng câu lệnh if…else trong Java
Sử dụng câu lệnh if else để kiểm tra các tháng.package numberdayinmonth; import java.util.Scanner; public class NumberDayInMonth { public static boolean checkYear(int nam) { return (nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0; } public static void main(String[] args) { int month, year; Scanner input = new Scanner(System.in); System.out.print("Input month: "); month = input.nextInt(); System.out.print("Input year: "); year = input.nextInt(); if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { System.out.print("Month " + month + "th has 31 days."); } else if (month == 4 || month == 6 || month == 9 || month == 11) { System.out.print("Month " + month + "th has 30 days."); } else if (month == 2) { if (checkYear(year)) { System.out.print("Month " + month + "th has 29 days."); } else { System.out.print("Month " + month + "th has 28 days."); } } else { System.out.print("Invalid month."); } } }
4. Một cách ngắn gọn giúp tìm số ngày trong tháng
Những ví dụ trên sử dụng nhiều câu lệnh System.out.print() để in các ngày trong tháng. Chúng ta có thể tạo 1 biến lưu các trường hợp tháng có 31 ngày, 30 ngày, 29 ngày, 28 ngày như cách bên dưới. Việc này giúp chương trình chỉ cần sử dụng 1 câu lệnh System.out.print() để in số ngày trong tháng.package numberdayinmonth; import java.util.Scanner; public class NumberDayInMonth { public static boolean checkYear(int nam) { return (nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0; } public static void main(String[] args) { int month, year; // cases of month in year int monthcase = 0; boolean validMonth = true; Scanner input = new Scanner(System.in); System.out.print("Input month: "); month = input.nextInt(); System.out.print("Input year: "); year = input.nextInt(); switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: monthcase = 3; break; case 4: case 6: case 9: case 11: monthcase = 2; break; case 2: if (checkYear(year)) { monthcase = 1; } else { monthcase = 0; } break; default: System.out.print("Invalid month."); validMonth = false; break; } if (validMonth) { System.out.print("Month " + month + "th has " + (28 + monthcase) + " days."); } } }
Nếu tháng có 31 ngày thì monthcase = 3, tháng có 30 ngày thì monthcase = 2. Nếu năm nhuận và tháng 2 thì monthcase = 1, ngược lại monthcase = 0. Để in các ngày trong tháng ta chỉ cần lấy 28 cộng với monthcase.
- Lớp Reader và Writer trong Java
- Truy vấn (select) dữ liệu và câu lệnh where trong MySQL với Python
- Lớp InputStream và OutputStream trong Java
- Cấu trúc điều khiển vòng lặp for trong Python
- Gỡ rối khi dùng hàm date() trong PHP
Từ khóa » Tính Số Ngày Trong Tháng C++
-
Chương Trình Tìm Số Ngày Trong Tháng Bằng C / C++
-
C++ - Tìm Số Ngày Của Một Tháng Bất Kỳ được Nhập Từ Bàn Phím
-
Viết Chương Trình Tìm Số Ngày Trong Tháng được Nhập Từ Bàn Phím
-
Lập Trình C: Viết Chương Trình Nhập Vào Tháng Của Một Năm, Cho ...
-
Bài Tập In Ra Số Ngày Trong Tháng Dùng Switch Case
-
Tính Thứ Tự Của Ngày Trong Năm | How Kteam
-
Tìm Ngày Trước Và Sau Của Một Ngày | How Kteam
-
Lập Trình C++ Các Thao Tác Trên Ngày Tháng [Archive]
-
Tính Thứ Trong Tuần được Nhập Vào Bằng C++ | Tìm ở đây
-
Lập Trình Trực Quan - Tính Số Ngày Trong Tháng - MegaCode
-
Tìm Số Ngày Của Một Tháng Trong C - Lập Trình Từ Đầu
-
Viết Chương Trình Nhập Vào Tháng Và Năm Kiểm Tra In Ra ... - Học Tốt
-
Bài Tập C++: Viết Chương Trình Nhập Ngày Tháng Năm. Kiểm Tra Xem ...