FizzBuzzとの3か月(16)

お世話になっております。

今日はJavaで実装しました。

以下、コードです。

class FizzBuzz{
  enum Answer{
    FIZZ("Fizz"), BUZZ("Buzz"), FIZZBUZZ("FizzBuzz");

    private final String text;

    private Answer(String text){
      this.text = text;
    }

    @Override
    public String toString(){
      return this.text;
    }

    static String answerOf(int num){
      if(num % 5 == 0 && num % 3 == 0){
        return FIZZBUZZ.toString();
      }else if(num % 3 == 0){
        return FIZZ.toString();
      }else if(num % 5 == 0){
        return BUZZ.toString();
      }else{
        return String.valueOf(num);
      }
    }
  }

  public static void main(String[] args){
    for(int i = 0; i < 100; i++){
      int num = i + 1;
      System.out.println(Answer.answerOf(num));
    }
  }
}

enumはJava5で追加された機能で、型安全な定数を作ることができます。今回は、その点については、あまりメリットを活用していません。
最近ではJavaも、生産性が低いと言われることがありますが、静的な型付けによる堅牢性は大規模な開発では有効だと思います。

以上