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
- Viết Chương Trình Java Mô Phỏng Bài Toán Sản Xuất (producer) Và Tiêu Thụ (consumer) Là 02 Lớp Thread
- Viết Chương Trình Java Nhập Vào 2 Số Nguyên A B Xác định Số Lớn Nhất (max) Số Nhỏ Nhất Trong 2 Số
- Viết Chương Trình Javascript để Lấy Một Phần Tử Ngẫu Nhiên Từ Một Mảng
- Viết Chương Trình Javascript Kiểm Tra Ký Tự đầu Tiên Của Chuỗi Có Phải Là Ký Tự Hoa Hay Không
- Viết Chương Trình Javascript Tìm Các Phần Tử Trùng Lặp Trong Mảng
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.
- Giới thiệu môn học Lập trình Web PHP
- Tạo database và tạo table trong MySQL với Python
- Giới thiệu môn học Ngôn ngữ lập trình Python
- Xóa (delete) dữ liệu trong MySQL với PHP
- Cấu trúc dữ liệu List trong Python
Từ khóa » Viết Chương Trình Java để Tìm Số Ngày Trong Tháng
-
Tính Số Ngày Trong Tháng Bằng Ngôn Ngữ Java - Blog Lợi
-
Java - Nhập Vào Một Tháng Và Hiển Thị Ngày Tương ứng Của Tháng đó.
-
[Thực Hành] Tính Số Ngày Trong Tháng - Học Java
-
Viết Chương Trình Tìm Số Ngày Trong Tháng được Nhập Từ Bàn Phím
-
Java 20. Bài Tập Kiểm Tra Số Ngày Của Tháng | Tự Học Lập Trình C
-
Ngày Tháng (Date & Time) Trong Java - Thủ Thuật
-
Bài Tập C++: Chuyển đổi Số Ngày đã Cho Thành Số Năm Và Số Tuần
-
Chương Trình Java để Tìm Số Ngày Trong Tháng
-
Hướng Dẫn Viết Sơ đồ Khối Thuật Toán Trong Lập Trình
-
Kiểm Tra Ngày Hợp Lệ | How Kteam
-
Thuật Toán Tính âm Lịch
-
1000 Bài Tập Lập Trình C/C++ Có Lời Giải Giành Cho SV - Linkerpt
-
Viết Chương Trình Nhập Vào Tháng In Ra Tháng đó Có Bao Nhiêu Ngày?