Java Mid Basic〜数秘術から社会人基礎力のロジック〜

今回は、数秘術の数字を算出する処理を実装します。
参照するのは、こちらの本です。

数秘術の数字

この本によるとまずは「ネームチャート」を作るのがはじめの一歩のようです。「〜ようです」というのは明示的に書いてないのでこのような書き方をしています。

ネームチャート

早い話が、名前をローマ字(アルファベット)にして母音と子音を出し、それに数字を割り振ったものです。
具体的には「Nanashino Takunoji」であれば下のようになります。

Nanashino -> 
母音[ 1, 1, 9, 6] "aaio";= 1+1+9+6=17=>1+7=「8」
子音[5, 5, 1, 8, 5]"Nnshn"= 5+5+1+8+5=24=>2+4=「6」
合計する=>8+6=14=>1+4=「5」

Takunoji -> 
母音[ 1, 3, 6, 9] "auoi";= 1+3+6+9=18=>1+8=「9」
子音[ 2, 2, 5, 1]"Tknj"= 2+2+5+1=10=>「1」
合計する=>9+1=10=>「0」

苗字の部分の計算、名前を計算して結果を出します。
ちなみに最後に算出している数字は「人格数」にあたります。

ロジックにする

「ロジック」と聞いて「は?」となる人のために記載しますが、早い話が、入力に対して想定通りの結果を返せる「処理」のことです。
今回の場合は。。。
入力:「名前(フルネーム)」のアルファベットが入ります。
出力:上で示したように「人格数」となりそうですが、そうではなく、母音と子音の"["と"]"で囲まれた数字を出力として欲しいのです。
この出力結果が「人格数」になると他の「運命数」は「生年月日」なので違いますが、「ハート数」などが算出できません。

いざロジック

初めに上に示したものを作成します。入力が「名前」出力が「母音と子音の数字配列」です。
しかし、Javaのメソッドの返り値は1つだけなので文字列に区切りもの「,(カンマ)」をつけて分けます。。。
いや、面倒なので配列にしてしまいましょう。コードにすると次のようになるのですが、今回は処理の仕様が決まっているので「テストケースから作成します。→「テスト駆動型開発」というやつです。
作成したテストコードもあります。

でわでわ。。。