新らしくなった基本情報 科目 B 20問バージョン アルゴリズムとプログラミング サンプル問題2をJavaにしてみました
2023 年 4 月からIPA (独立行政法人情報処理推進機構)の基本情報技術者試験の制度が変更されました。
ここでは、「基本情報技術者試験 科目 B のサンプル問題20問バージョン」の中から、アルゴリズムとプログラミングの問題を取り上げ、Javaのソースコードを示します。
新人エンジニア研修に参加されている皆様の参考になれば幸いです。
【Javaプログラム】
public class Q2 {
//本問で問われている関数
static String fizzBuzz(int num) {
String result;
if (num % 5 == 0 && num % 3 == 0) {
result = "3と5で割り切れる";
} else if (num % 3 == 0) {
result = "3で割り切れる";
} else if (num % 5 == 0) {
result = "5で割り切れる";
} else {
result = "3でも5でも割り切れない";
}
return result;
}
// 以下はテスト
public static void main(String[] args) {
for (int i = 1; i <= 15; i++) {
System.out.println(i + "は" + fizzBuzz(i));
}
}
}
【結果】
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の実装とテストを行っています。
投稿者プロフィール
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
- 新入社員2024年11月23日「ゲシュタルト崩壊」とシステム開発
- 新入社員2024年11月23日データベースでテーブル名やフィールド名にスペースを使うことは、一般的には推奨されていません
- 新入社員2024年11月23日「データにはなぜ型が必要なのか?」を2進数の観点から解説
- 新入社員2024年11月23日ディスプレイの解像度の意味と変更方法