目次
以下の条件に従って、コードを書いてください。
List<Integer>
型の変数numbers
を宣言し、5
,12
,18
,25
,32
,40
の6つの値を格納してください。- リスト内の各要素が
20
以上の値のみを含む新しいリストfilteredNumbers
を作成してください。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になります。 - …と順番に進みます。
- 1回目のループで
- if文:
if (num >= 20)
という条件文で、num
が20以上かどうかをチェックします。- 例えば、1回目のループでは
num
は5なので、この条件は満たされません。なので何もしません。 - 4回目のループでは
num
は25なので、この条件は満たされます。filteredNumbers
に25が追加されます。
- 例えば、1回目のループでは
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になります。
- 1回目のループでは
最終的に、sum
は97になります。これが合計値です。
5. 結果をコンソールに出力
最後に、合計値を System.debug
でコンソールに表示します。
System.debug('Sum of numbers >= 20: ' + sum);
System.debug()
はコンソールにメッセージを表示するための命令です。+ sum
は、合計値(97)を文字列に追加して一緒に表示します。
結果として、コンソールには次のメッセージが表示されます。
Sum of numbers >= 20: 97
全体の流れ
- 最初に
numbers
というリストを用意します。 - そのリストの中から、20以上の値を
filteredNumbers
に追加します。 filteredNumbers
の合計を計算します。- 合計をコンソールに出力します。
実行結果
プログラムを実行すると、次のような結果がコンソールに表示されます。
Sum of numbers >= 20: 97
このように、リスト操作、条件分岐、ループ、そしてデバッグ出力の基本的な使い方が組み合わさった問題です。