こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Javaでfor文を使ってFizzBuzz問題を
- FizzBuzz問題とは
- サンプルプログラム
- 実行結果
- プログラム解説
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
IntelliJ IDEAのエディション | Community(無料版) |
IntelliJ IDEAのバージョン | 2021.3.2 |
プロジェクト | Javaプロジェクト |
SDK | Oracle OpenJDK version17.0.2 |
Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。
解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
FizzBuzz問題とは
FizzBuzz問題とは、有名なプログラム問題の1つで
- 1から順々に数字を表示する
- 3の倍数の場合は「Fizz」と表示する
- 5の倍数の場合は「Buzz」と表示する
- 3の倍数、かつ、5の倍数の場合は「FizzBuzz」と表示する
というルールはのもと考えるプログラム問題です。
この記事では、30までの範囲でFizzBuzz問題のサンプルプログラムを解説します。
FizzBuzz問題サンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package sample; public class Sample { public static void main(String[] args) { System.out.println("■for文を使ってFizzBuzz問題サンプルプログラム"); for (int i = 1; i <= 30; i++) { if (i % 3 == 0 && i % 5 == 0) { System.out.println("FizzBuzz"); } else if (i % 3 == 0) { System.out.println("Fizz"); } else if (i % 5 == 0) { System.out.println("Buzz"); } else { System.out.println(i); } } } } |
実行結果
Javaプログラムを実行します。
実行のやり方は
- プログラムを右クリックして実行
- 実行タブから実行
- ガターから実行
の3種類あるので、いずれかで実行します。
詳しい解説は以下の記事をご参考ください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
■for文を使ってFizzBuzz問題サンプルプログラム 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz |
FizzBuzz問題ができていることが確認できました。
プログラム解説
FizzBuzz問題の肝の条件判定をしている
1 2 3 4 5 6 7 8 9 |
if (i % 3 == 0 && i % 5 == 0) { System.out.println("FizzBuzz"); } else if (i % 3 == 0) { System.out.println("Fizz"); } else if (i % 5 == 0) { System.out.println("Buzz"); } else { System.out.println(i); } |
を
- 条件判定の順番
- 倍数の判定の仕方
と解説します。
条件判定の順番
FizzBuzz問題のルールは
- 1から順々に数字を表示する
- 3の倍数の場合は「Fizz」と表示する
- 5の倍数の場合は「Buzz」と表示する
- 3の倍数、かつ、5の倍数の場合は「FizzBuzz」と表示する
です。
この中で最も優先すべきルールは
- 3の倍数、かつ、5の倍数の場合は「FizzBuzz」と表示する
です。
なぜなら3の倍数、かつ、5の倍数(たとえば15)は
- 3の倍数の場合は「Fizz」と表示する
- 5の倍数の場合は「Buzz」と表示する
どちらの条件も正となります。
なので1番最初に
- 3の倍数、かつ、5の倍数の場合は「FizzBuzz」と表示する
をif文に指定する必要があります。
倍数の判定の仕方
倍数の判定で使っている%算術演算子とは、演算子の左辺を右辺で割った余りを返す演算子です。
倍数はある数を整数倍した数のことです。
%算術演算子を使って割った余りを求めて0だと倍数だと判定できます。
たとえば
1 |
} else if (i % 3 == 0) { |
だと、iを3で割った余りが0と一致すればiは3の倍数であると判定できます。
%算術演算子については、詳しくはこちらの記事をご参考ください。
まとめ:FizzBuzz問題をやってみよう!
以上がJavaでFizzBuzz問題サンプルプログラムでした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント