Java - Tính năm âm lịch từ năm dương lịch.
Viết chương trình tính năm âm lịch từ năm dương lịch được nhập từ bàn phím.
Bài giải
-------------------- ######## --------------------
Hướng dẫn thuật toán tính năm âm lịch:
Năm âm lịch = Can + Chi. Vì vậy để tính năm âm lịch từ năm dương lịch ta cần xác định được Can và Chi rồi sau đó ghép lại là xong.
Để xác định được Can ta tìm phần dư của phép chia năm dương lịch cho 10 rồi tra theo bảng sau:
Kết quả năm dương lịch % 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
Can tương ứng | Canh | Tân | Nhâm | Quý | Giáp | Ất | Bính | Đinh | Mậu | Kỷ |
Để xác định được Chi ta tìm phần dư của phép chia năm dương lịch cho 12 rồi tra theo bảng sau:
Bài viết này được đăng tại [free tuts .net]
Kết quả năm dương lịch % 12 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chi tương ứng | Thân | Dậu | Tuất | Hợi | Tý | Sửu | Dần | Mẹo | Thìn | Tỵ | Ngọ | Mùi |
Ví dụ: Ông Nguyễn Văn Bình sinh năm 1962 thì sẽ tương ứng với năm âm lịch là Nhâm Dần.
Sau đây là bải giải của bài tập này.
package cau_truc_switch_case; import java.util.Scanner; public class XacDinhNamAmLich { public static void main(String[] args) { int year; String can = "", chi = ""; Scanner scanner = new Scanner(System.in); System.out.println("Nhập vào năm dương lịch: "); year = scanner.nextInt(); // Xác định Can switch (year % 10) { case 0: can = "Canh"; break; case 1: can = "Tân"; break; case 2: can = "Nhâm"; break; case 3: can = "Quý"; break; case 4: can = "Giáp"; break; case 5: can = "Ất"; break; case 6: can = "Bính"; break; case 7: can = "Đinh"; break; case 8: can = "Mậu"; break; case 9: can = "Kỷ"; break; } // Xác định Chi switch (year % 12) { case 0: chi = "Thân"; break; case 1: chi = "Dậu"; break; case 2: chi = "Tuất"; break; case 3: chi = "Hợi"; break; case 4: chi = "Tý"; break; case 5: chi = "Sửu"; break; case 6: chi = "Dần"; break; case 7: chi = "Mẹo"; break; case 8: chi = "Thìn"; break; case 9: chi = "Tỵ"; break; case 10: chi = "Ngọ"; break; case 11: chi = "Mùi"; break; } System.out.println("Năm âm lịch tương ứng với năm dương lịch = " + year + " là " + (can + " " + chi)); } }
Câu hỏi thường gặp liên quan:
- Java - Xác định thứ tương ứng với số nhập vào từ bàn phím.
- Java - Kiểm tra ký tự thường nhập vào là nguyên âm hay phụ âm.
- Java - Tính năm âm lịch từ năm dương lịch.
- Java - Thực hiện các phép tính cộng, trừ, nhân, chia 2 số nguyên.
- Java - Nhập vào một tháng và hiển thị ngày tương ứng của tháng đó.
- Java - Viết chương trình cho phép người dùng chọn đáp án đúng (câu hỏi 1)