和暦・西暦変換


  1. 目的
    和暦(元号)から西暦に相互変換します。

  2. 手法

    1. 和暦>西暦
      元号はリストボックスから選択する
      年を入力し、変換ボタンを押す

    2. 西暦>和暦
      西暦を入力する
      変換ボタンを押す
      元号と年次を表示する

    3. リストボックス
      項目の追加は、Choiceクラスのadditemメソッドを利用します。
       Choice choice1;
       choice1.addItem("平成");
      選択されている項目は
       choice1.getSelectedItem()
      で知ることができます。

  3. プロジェクト

    1. レイアウト
      layoutをnullにします。
      元号のリストボックスを配置する:choice1
      和暦の元号を表示するラベルを配置する:label1
      和暦の年を表示、入力するテキストフィールドを配置する:textfield1
      変換用のボタンを配置する:button1,button2
      西暦の年を表示、入力するテキストフィールドを配置する:textfield2



    2. プログラム
      1. 初期化:init()
        初期化関数に、メニューの項目を設定する以下を追加する。
          choice1.addItem("平成");
          choice1.addItem("昭和");
          choice1.addItem("大正");
          choice1.addItem("明治");

      2. 和暦>西暦変換
        ボタン1のイベント処理関数として追加します。
        各元号毎の処理をしています

        1. void button1_actionPerformed(ActionEvent e) {
          //和暦>西暦
          int nen;
          String str1,str2;
          if(choice1.getSelectedItem()=="昭和"){
            str1=textField1.getText();
            nen=1925 + Integer.parseInt(str1);
            str2=Integer.toString(nen);
            textField2.setText(str2);
          }
          if(choice1.getSelectedItem()=="平成"){
            str1=textField1.getText();
            nen=1988 + Integer.parseInt(str1);
            str2=Integer.toString(nen);
            textField2.setText(str2);
          }
          ................

      3. 西暦>和暦
        ボタン2のイベント処理関数として追加する。
        各元号毎の処理をしています。

        1. void button2_actionPerformed(ActionEvent e) {
          int nen;
          nen=Integer.parseInt(textField2.getText());
          if (nen>1988) {
            nen=nen-1988;
            label1.setText("平成");
            textField1.setText(Integer.toString(nen));
          }
          else if (nen>1925) {
            nen=nen-1925;
            label1.setText("昭和");
            textField1.setText(Integer.toString(nen));
          }
          else if (nen>1911) {
            nen=nen-1911;
            label1.setText("大正");
            textField1.setText(Integer.toString(nen));
          }

  4. 実行

    次のアプレットで、左のリストボックスで和暦を選択し、年を入力し、右向きボタンを押します。左に西暦が表示されます。もた右で西暦を入力し、左向き矢印を押します。元号と年次が表示されます。





トップに戻る