1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* MyToolsクラス 
 * 暦年変換
 定 義 int calconv(String nengo, int wareki)
 機 能  年号と和暦年から西暦年を計算して返す
 引 数 nengo(年号:S,H,R)、wareki(和暦年)
 戻り値 西暦年。年号の指定間違いでは、和暦をそのまま返す
 */
public static int calconv(String nengo, int wareki) {
    int seireki = switch(nengo) {
        case "S", "s" -> wareki + 1925;
        case "H", "h" -> wareki + 1988;
        case "R", "r" -> wareki + 2018;
        default -> wareki;
    };
    return seireki;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* MyToolsクラス 
 * 文字列の長さを均等に
  定 義 String padding(String word, int len)
  機 能  wordがlen文字未満ならlen文字になるように末尾に半角空白文字を連結する
  引 数 word(文字列)、len(指定する文字列長)
  戻り値 len文字にした文字列を返す。wordがlen以上の長さの時はwordをそのまま返す
 */
public static String padding(String word, int len) {
    String ret;
    if(word.length()<len) {
        ret = word + " ".repeat(len-word.length());
    }else {
        ret = word;
    }
    return ret;
}

1
2
3
4
5
6
7
8
9
10
package exercise;
import lib.Input;
import sample.MyTools;
public class Ex15_1_3 {
    public static void main(String[] args) {
        String nengo = Input.getString("年号");
        int wareki = Input.getInt("和暦年");
        System.out.println("西暦年="+ MyTools.calconv(nengo, wareki));
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
package exercise;
import lib.Input;
import sample.MyTools;
public class EX15_1_4 {
    public static void main(String[] args) {
        String word, join="";
        while((word=Input.getString())!=null) {
            join += MyTools.padding(word, 10);
        }
        System.out.println(join);
    }
}