新らしくなった基本情報 科目 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年12月25日IT技術者の副業としての研修講師の魅力とは?
- 新人エンジニア研修講師2024年12月25日IT技術者の定年後のお仕事としての研修講師の魅力とは?
- 全ての社員2024年12月25日TOEICでよく出てくる意外な意味で使われる英単語 50連発
- 新人エンジニア研修講師2024年12月25日新人エンジニア研修使える「アイスブレイク集」 45連発