問題
Salesforceには、取引先の情報を管理する標準オブジェクト「Account」があります。このオブジェクトには、取引先の名前(Name)フィールドがあります。Apexを使用して、取引先の名前が”A”で始まるもののみをコンソールに出力するクラスを作成してください。
この問題を解決することで、Apexでのデータの取得方法、文字列の基本的な操作、およびコンソールへの出力方法を練習することができます。
問題解決のフレームワーク
- 目的の確認:
- 問題文から、名前が「A」で始まる取引先の名前をコンソールに出力することが目的であることを理解する。
- 必要なデータの特定:
- 取引先の名前(「Account」オブジェクトの「Name」項目)
- データの取得方法の検討:
- SalesforceのSOQLを使用してデータを取得する。
- 「Account」オブジェクトからデータを取得する際に、名前が「A」で始まるものをLIKE演算子を使用してWHERE句で指定する。
- コードの構築:
- 必要なクラスとメソッドの定義を行う。
- SOQLクエリを使用して、必要なデータを取得するコードを書く。
- データの処理:
- 取得した「Account」オブジェクトのリストをfor文でループ処理する。
- 条件に合致するデータ(名前が「A」で始まる取引先)をコンソールに出力する。
- コードの最終形:
- 全ての処理を組み合わせて、最終的なコードを完成させる。
解答例
public class AccountNameLogger {
public static void logAccountsWithNameStartingA(){
List<Account> accounts = [SELECT Name FROM Account WHERE Name LIKE 'A%'];
for(Account acc : accounts){
System.debug('Account Starting with A: ' + acc.Name);
}
}
}
解説
このクラスは、Salesforceの標準オブジェクト「Account」から取引先名が”A”で始まるものを取得し、それをコンソールに出力する目的で作成されています。
- クラスとメソッドの定義:
AccountNameLogger
という名前のクラスが定義されています。このクラス内に、logAccountsWithNameStartingA
という静的メソッドが定義されています。
- データの取得:
- この行は、Salesforceの標準オブジェクト「Account」から取引先の名前を取得するSOQLクエリを実行しています。ただし、名前が「A」で始まる取引先のみを取得しています。
List<Account> accounts = [SELECT Name FROM Account WHERE Name LIKE 'A%'];
- データの処理と出力:
- この
for
ループは、取得した取引先の名前を1つずつ処理するためのものです。
System.debug('Account Starting with A: ' + acc.Name);
この行は、現在の取引先の名前をコンソールに出力するためのものです。
- この
for(Account acc : accounts){
System.debug('Account Starting with A: ' + acc.Name);
}
解答例(コメント付き)
public class AccountNameLogger {
public static void logAccountsWithNameStartingA(){
// "A"で始まる取引先の名前を取得
List<Account> accounts = [SELECT Name FROM Account WHERE Name LIKE 'A%'];
// 取得した取引先の名前をコンソールに出力
for(Account acc : accounts){
System.debug('Account Starting with A: ' + acc.Name);
}
}
}
次の問題へ
【Apex練習問題】第3問
問題 Salesforceには、取引先の情報を管理する標準オブジェクト「Account」があります。このオブジェクトには、取引先の所在地(BillingCity)フィールドがあります。Apex…
前の問題へ
【Apex練習問題】第1問
問題 Salesforceには、取引先の情報を管理する標準オブジェクト「Account」があります。このオブジェクトには、取引先の名前(Name)フィールドがあります。Apexを使用し…
1問目から復習する
【Apex練習問題】第1問
問題 Salesforceには、取引先の情報を管理する標準オブジェクト「Account」があります。このオブジェクトには、取引先の名前(Name)フィールドがあります。Apexを使用し…
コメント