package huu;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Scanner;public class Test {?? ? /**? ? ?* 計算對應(yīng)年份的生肖? ? ?* @param year 給定年份? ? ?* @return 返回生肖的字符串? ? ?*/? ? private static String getZodica(int year) {? ? ? ? final String[] Animals = new String[] { "鼠", "牛", "虎", "兔", "龍", "蛇",? ? ? ? ? ? ? ? "馬", "羊", "猴", "雞", "狗", "豬" };? ? ? ? return Animals[(year - 4) % 12];? ? }?? ? /**? ? ?* 計算對應(yīng)年份的干支? ? ?* @param year 給定年份? ? ?* @return 返回干支字符串? ? ?*/? ? private static String Gan_Zhi(int year) {? ? ? ? final String[] Gan = new String[] { "甲", "乙", "丙", "丁", "戊", "己", "庚",? ? ? ? ? ? ? ? "辛", "壬", "癸" };? ? ? ? final String[] Zhi = new String[] { "子", "丑", "寅", "卯", "辰", "巳", "午",? ? ? ? ? ? ? ? "未", "申", "酉", "戌", "亥" };? ? ? ? return (Gan[(year-4) % 10] + Zhi[(year-4) % 12]);? ? }? ?public static void Time(){ ? System.out.println("請輸入年份:");? ?}? ?? ? public static void main(String[] args) {? ? SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");? ? Calendar now = java.util.Calendar.getInstance();? ? System.out.println(dateformat.format(now.getTime()));//獲取當(dāng)前系統(tǒng)時間? ??? ? java.util.Calendar ? startData=java.util.Calendar.getInstance();? ? java.util.Calendar ? endData=java.util.Calendar.getInstance();? ? startData.set(2015,9,25);? ? endData.set(2017,8,13);//分別輸出兩個時間的值? ? Long ?dateLen = Math.abs((endData.getTimeInMillis()-startData.getTimeInMillis())/(24*60*60*1000));//獲取相減值的絕對值? ? System.out.println(dateLen);//輸出時間差? ??? ????? ? Scanner scanner ?= new Scanner(System.in);? ? System.out.print("請輸入年份:");? ? int year = scanner.nextInt();? ? System.out.println("生肖:"+getZodica(year)+"\n干支:"+Gan_Zhi(year));? ? }}
3 回答


To_The_Moon
TA貢獻11條經(jīng)驗 獲得超2個贊
一般來說你得給出一個作為定點的常量。
比如1948.是鼠年,你以這個常量為標(biāo)準(zhǔn)去計算其他年份就行了。比1948多出來多少年的除以12這個輪回剩下的增量。加到年份里去,就能算出來是什么年了。比1948小的年份則往前反推。
添加回答
舉報
0/150
提交
取消