スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

世界のナベアツにJavaで挑戦する

世界のナベアツに Ruby で挑戦する

面白いブログエントリがあったので、真似してJavaで挑戦。


public class Nabeatsu {
 private int count;
 // Private変数で数字の読みを定義
 private String[] kazu ={"","いち","に","さん","よん","ご","ろく","なな","はち","きゅう","じゅう"};
// 数字のアホな読みを定義
private String[] ahokazu={"","いぃぃ~ち","にぃ","さぁぁん","よぉぉん","ごぅ","ろぉくぅ","なぁなぁぁ","はぁちぃぃ","きゅう~","じゅぅぅう"};
 public static void main(String[] arg){
  Nabeatsu nabe;

  // 最初のくだり
  System.out.println("1から40まで数えて3の倍数の時にだけアホになります。");

  // ナベアツオブジェクトの生成
  nabe = new Nabeatsu();

  // カウント開始
  nabe.doCount();
  
  // 締め
  System.out.println("オモロー!!");
 }

 /**
 * 数字をカウントする
 *
 */
 public void doCount(){
  // 1から40までループ
  for (int i=0;i<40;i++){

   // 3の倍数かチェックする
   if ((i+1)%3==0){
    // 3の倍数
    System.out.println(parseNihonYomi(i+1,ahokazu));
   }else{
    // 3の倍数ではない
    System.out.println(parseNihonYomi(i+1,kazu));
   }
  }
 }
 /**
 * 数字を渡された読み配列に従い変換して返す
 * @param num 数字
 * @param yomis 読み配列
 * @return 数字読み
 */
 private String parseNihonYomi(int num,String[] yomis){
  String ret;
  // 数字の大きさをチェック
  if (num <10){
   // 10より小さいの場合
   ret=yomis[num];
  }else if (num >=10 & num <20){
   // 10以上20より小さい場合
   if (num==10){
    ret = yomis[10];
   }else{
    ret = yomis[10] + yomis[num-(int)Math.floor((num)/10)*10];
   }
 }else{
   // 20以上
   ret = yomis[(int)Math.floor((num)/10)] + yomis[10] + yomis[num-(int)Math.floor((num)/10)*10];
  }
  return ret;
 }
}



3の倍数のときだけしかアホになりませんが・・・・

ちなみに

yomis[num-(int)Math.floor((num)/10)*10];


ここでは、渡された数字をMath.floorメソッドを使って1桁目を取得して
配列から文字列を取っています。

実行結果


1から40まで数えて3の倍数の時にだけアホになります。
いち

さぁぁん
よん

ろぉくぅ
なな
はち
きゅう~
じゅう
じゅういち
じゅぅぅうにぃ
じゅうさん
じゅうよん
じゅぅぅうごぅ
じゅうろく
じゅうなな
じゅぅぅうはぁちぃぃ
じゅうきゅう
にじゅう
にぃじゅぅぅういぃぃ~ち
にじゅうに
にじゅうさん
にぃじゅぅぅうよぉぉん
にじゅうご
にじゅうろく
にぃじゅぅぅうなぁなぁぁ
にじゅうはち
にじゅうきゅう
さぁぁんじゅぅぅう
さんじゅういち
さんじゅうに
さぁぁんじゅぅぅうさぁぁん
さんじゅうよん
さんじゅうご
さぁぁんじゅぅぅうろぉくぅ
さんじゅうなな
さんじゅうはち
さぁぁんじゅぅぅうきゅう~
よんじゅう
オモロー!!



作ってて思ったけど、これって結構Java入門に使えるんじゃないかな。
配列の扱い方やループの使い方とか基本を押さえてるしね。

今回のソースは単一クラスでやったけど、
これをリファクタリングしていけばフレームワークも作れそうな感じ。

芸人フレームワークなんてモンができそうな気がしてきた

なんの役にも立たないフレームワークだけど勉強の一環で作ってみますか


スポンサーサイト

コメントの投稿

非公開コメント

これか…

Javaで下らないこと思いついたって、この事か…。
まぁ、下手に真面目なもん組んでるより、ハマれて楽しいんじゃないの?
出来れば30の台は全てアホになって欲しいです(笑)。
プロフィール

DJコーク

Author:DJコーク
地方で細々とSEまがいの仕事をしています。

楽天ブック
最近の記事
Feed
月別アーカイブ
スポンサードリンク
グラビス|gravis ノーマディック|nomadic ヴィブラム|vibram ロープロ|lowepro
MoMA STORE
MoMAstore
MoMAstore
MoMAstore
MoMAstore
MoMAstore
リンク
カテゴリ
サイト
ランキング
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。