Salesforce関連の記事を書いています。

  1. Apex練習問題

練習問題 5: リストのフィルタリングと計算

以下の条件に従って、コードを書いてください。

  1. List<Integer> 型の変数 numbers を宣言し、5, 12, 18, 25, 32, 40 の6つの値を格納してください。
  2. リスト内の各要素が 20 以上の値のみを含む新しいリスト filteredNumbers を作成してください。
  3. filteredNumbers の合計値を計算し、その値を System.debug() を使ってコンソールに出力してください。

解答例

public class ListFilterExample {
    public static void main() {
        // List<Integer> 型の変数 numbers を宣言し、6つの値を格納
        List<Integer> numbers = new List<Integer>{5, 12, 18, 25, 32, 40};
        
        // 新しいリスト filteredNumbers を作成し、20以上の値をフィルタリング
        List<Integer> filteredNumbers = new List<Integer>();
        
        for (Integer num : numbers) {
            if (num >= 20) {
                filteredNumbers.add(num);
            }
        }
        
        // filteredNumbers の合計値を計算
        Integer sum = 0;
        for (Integer num : filteredNumbers) {
            sum += num;
        }
        
        // 合計値をコンソールに出力
        System.debug('Sum of numbers >= 20: ' + sum);
    }
}

解説

プログラムは、リストから20以上の値を抽出して、その合計を計算し、結果をコンソールに表示するという内容です。

1. リスト(List)の宣言と初期化

まず、リストを宣言し、値を格納します。

List<Integer> numbers = new List<Integer>{5, 12, 18, 25, 32, 40};
  • List<Integer>整数のリスト を表します。Integerは整数を扱うデータ型で、Listは複数の値を一つにまとめて扱うことができるデータ型です。
  • numbers はリストの名前で、このリストに6つの整数値(5, 12, 18, 25, 32, 40)を格納しています。

2. 新しいリスト filteredNumbers の作成

次に、リストの中から「20以上」の数値だけを含む新しいリスト filteredNumbers を作成します。

List<Integer> filteredNumbers = new List<Integer>();
  • 空のリスト filteredNumbers を作ります。これは後で条件に合った数値だけを入れるためのリストです。

3. forループを使って値をフィルタリング

次に、リスト numbers の中身を順番にチェックして、20以上の数値だけを新しいリスト filteredNumbers に追加します。

for (Integer num : numbers) {
if (num >= 20) {
filteredNumbers.add(num);
}
}
  • forループnumbers の中身を1つずつ取り出して、num という変数に入れて処理します。これをリストのすべての値(5, 12, 18, 25, 32, 40)に対して行います。
    • 1回目のループで num は5になります。
    • 2回目のループで num は12になります。
    • 3回目のループで num は18になります。
    • …と順番に進みます。
  • if文if (num >= 20) という条件文で、num が20以上かどうかをチェックします。
    • 例えば、1回目のループでは num は5なので、この条件は満たされません。なので何もしません。
    • 4回目のループでは num は25なので、この条件は満たされます。filteredNumbers に25が追加されます。
  • filteredNumbers.add(num) は、条件を満たした数値(20以上)を filteredNumbers に追加します。

結果として、filteredNumbers[25, 32, 40] という3つの数値を持つリストになります。

4. 合計値の計算

次に、filteredNumbers に入った数値の合計を計算します。

Integer sum = 0;
for (Integer num : filteredNumbers) {
sum += num;
}
  • sum: 変数 sum を作り、最初は0にしておきます。この変数にリストの数値を加算していきます。
  • forループ:今度は、filteredNumbers の中身(25, 32, 40)を順番に取り出して、その数値を sum に足していきます。
    • 1回目のループでは num は25なので、sum に25を足します。sum は0 + 25 = 25になります。
    • 2回目のループでは num は32なので、sum に32を足します。sum は25 + 32 = 57になります。
    • 3回目のループでは num は40なので、sum に40を足します。sum は57 + 40 = 97になります。

最終的に、sum は97になります。これが合計値です。

5. 結果をコンソールに出力

最後に、合計値を System.debug でコンソールに表示します。

System.debug('Sum of numbers >= 20: ' + sum);
  • System.debug() はコンソールにメッセージを表示するための命令です。
  • + sum は、合計値(97)を文字列に追加して一緒に表示します。

結果として、コンソールには次のメッセージが表示されます。

Sum of numbers >= 20: 97

全体の流れ

  1. 最初に numbers というリストを用意します。
  2. そのリストの中から、20以上の値を filteredNumbers に追加します。
  3. filteredNumbers の合計を計算します。
  4. 合計をコンソールに出力します。

実行結果

プログラムを実行すると、次のような結果がコンソールに表示されます。

Sum of numbers >= 20: 97

このように、リスト操作、条件分岐、ループ、そしてデバッグ出力の基本的な使い方が組み合わさった問題です。

Apex練習問題の最近記事

  1. 練習問題 5: リストのフィルタリングと計算

  2. 練習問題 4: 条件分岐とループの組み合わせ

  3. 練習問題 3: 繰り返し処理とリストの操作

  4. 練習問題 2: 条件分岐と変数の操作

  5. 練習問題 1: 変数の宣言と操作|Salesforce Apexプログラミング

関連記事

プログラミング言語の人気オンラインコース
自分の未来を明るくしよう。サイバーセール中、Udemyオンラインコースが最大95%OFF。
プロフィール
●氏名:ARAKAN
●年齢:32歳
●居住地:九州
●勤務先:情報システム部
●一言:とある企業でSalesforce管理者として勤務しているARAKANです。業務の中での気づきやTipsを投稿しています。
<保有資格>
・Salesforce認定 アドミニストレーター
・Salesforce認定 上級アドミニストレーター
・Salesforce認定 Sales Cloudコンサルタント
・Salesforce認定 Service Cloudコンサルタント
・Salesforce認定Marketing Cloud Account Engagement コンサルタント
・Salesforce認定Marketing Cloud Account Engagement スペシャリスト
カレンダー
2025年6月
 1
2345678
9101112131415
16171819202122
23242526272829
30 
ITとソフトウェアの人気オンラインコース
言語切り替え
PAGE TOP