干支の計算で。。。
jspの"year"パラメータから生年を受け取って干支を表示するプログラムなのですが、
計算(year + 8)%12の所でなぜ「+8」をするのか分かりません。
技術的といいますか算数レベルの問題ですが
どなたかご教授をお願いいたします。
ちなみに自分なりの考えだと紀元前1年が申にあたるからでしょうか?
だとしても何かスッキリしません。
宜しくお願いいたします。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class EtoServlet extends HttpServlet{
//インデントしてなく見難いですが・・・。すみません。。。。
private final String [] ETOS = {"子","丑","寅","卯","辰","巳","午",
"未","申","酉","戌","亥"};
public void doGet(HttpServletRequestrequest,HttpServletResponse response)
throws IOException, ServletException{
String yearStr = request.getParameter("year");
int year = Integer.parseInt(yearStr);
int index = (year + 8) % 12;
String etoText = ETOS[index];
response.setContentType("text/plain;charset=Shift_JIS");
PrintWriter out = response.getWriter();
out.println("あなたの干支は "+etoText + "デス");
}
}