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 + "デス");
}
}
No.2ベストアンサー
- 回答日時:
>自分なりの考えだと紀元前1年が申にあたるからでしょうか?
大正解です。
ちなみに、
private final String [] ETOS = {"子","丑","寅","卯","辰","巳","午",
"未","申","酉","戌","亥"};
を
private final String [] ETOS = {"申","酉","戌","亥","子","丑","寅",
"卯","辰","巳","午","未",};
にすれば、8を足す必要がなくなり、余分な計算を減らせます。
こっちのほうが「スッキリ感」があるかも。
迅速な回答有難うございます。
"申"~"未"で考えたほうが簡単ですね。
紀元前1年==西暦0年(ないですが)==配列の添字0
ってな思考で考えるとスッキリします。
>>大正解です
自分なりに考えていてもモヤモヤ感がありましたが
こう言ってもらえるとスッキリ 納得できました。
有難うございました。
No.1
- 回答日時:
>ちなみに自分なりの考えだと紀元前1年が申にあたるからでしょうか?
まぁOK(紀元0年は存在しないため、紀元前1年は申、紀元1年が酉。
配列の添字は0から11まで)
紆余曲折があったようでもあり、断言しづらいけど
http://ja.wikipedia.org/wiki/%E7%B4%80%E5%85%83
#自分は紀元1年が酉だと考えたけど、同じこと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelでA1に「年」B2に「干支」を表示する関数 6 2023/08/17 15:51
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
干支のプログラム
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
干支の計算で。。。
-
eclipseに記述したjavaファイル...
-
javaで警告音
-
C#の質問
-
IF関数でEmpty値を設定する方法。
-
DateTimePickerに値を入れたい...
-
ボタンの複数割り当てについて
-
配列にnullを代入すると、null...
-
全角英数字とハイフンを半角に...
-
char型での演算子
-
同じ文字を探しカウントしたい
-
Excel VBAで配列の途中から(X)M...
-
javaのエラーの意味がわかりま...
-
java StringとString[]の違い
-
実数からの小数部の取得
-
Java 九九の表について
-
java
-
Formの値が変更されたかどうか...
-
java初心者の質問(3つの整数の...
-
VBAで配列のデータを検索
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
importするには java.io.*; imp...
-
<forEach> 内で供給された "ite...
-
フレームの×ボタンを押しても閉...
-
Javaを使ってデジタル時計を作...
-
干支の計算で。。。
-
ColabでのPytorchのエラー
-
ファイル名を動的に生成したい
-
javaで警告音
-
jFrameを使って複数の画面を生...
-
Selenium IDEでexportしたコー...
-
文字列を数式に
-
シャットダウンフックが呼ばれない
-
javaの課題でコンパイルエラー...
-
setAttribute(String, int)は適...
-
Javaで常駐するソフトを作って...
-
JTabbedPaneのタブが開かれてい...
-
【java】検索フォームの検索結...
-
iPhoneでのjavascriptで音を出...
おすすめ情報