新らしくなった基本情報 科目 B 20問バージョン アルゴリズムとプログラミング サンプル問題2をJavaにしてみました
2023 年 4 月からIPA (独立行政法人情報処理推進機構)の基本情報技術者試験の制度が変更されました。
ここでは、「基本情報技術者試験 科目 B のサンプル問題20問バージョン」の中から、アルゴリズムとプログラミングの問題を取り上げ、Javaのソースコードを示します。
新人エンジニア研修に参加されている皆様の参考になれば幸いです。

【Javaプログラム】
【結果】
1は3でも5でも割り切れない 2は3でも5でも割り切れない 3は3で割り切れる 4は3でも5でも割り切れない 5は5で割り切れる 6は3で割り切れる 7は3でも5でも割り切れない 8は3でも5でも割り切れない 9は3で割り切れる 10は5で割り切れる 11は3でも5でも割り切れない 12は3で割り切れる 13は3でも5でも割り切れない 14は3でも5でも割り切れない 15は3と5で割り切れる |
【プログラムの解説】
このJavaプログラムは、FizzBuzzと呼ばれるプログラムの実装例です。FizzBuzzとは、1から任意の整数までの数を順番に出力し、その数が3で割り切れる場合は「Fizz」、5で割り切れる場合は「Buzz」、3と5の両方で割り切れる場合は「FizzBuzz」を表示するプログラムです。
このプログラムでは、fizzBuzz(int num) メソッドがFizzBuzzを実装しています。
num が3でも5でも割り切れる場合は、「3と5で割り切れる」という文字列を、3で割り切れる場合は「3で割り切れる」という文字列を、5で割り切れる場合は「5で割り切れる」という文字列を、どれでもない場合は「3でも5でも割り切れない」という文字列を、それぞれ result 変数に代入しています。そして、result 変数の値を return 文で返しています。
main メソッドでは、for 文を用いて1から15までの整数について、それぞれFizzBuzzを実行し、結果をコンソールに出力しています。
具体的には、fizzBuzz メソッドに各数値を渡し、その戻り値とともに「〇は」という文字列を連結して出力しています。
以上のようにして、FizzBuzzの実装とテストを行っています。