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プログラミング

関連記事

ITとソフトウェアの人気オンラインコース
自分の未来を明るくしよう。サイバーセール中、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年1月
 12345
6789101112
13141516171819
20212223242526
2728293031 
ITとソフトウェアの人気オンラインコース

言語切り替え

PAGE TOP