【Apex練習問題】第9問

問題

Apexを使用して、取引先の名前と請求先住所をコンソールに出力するクラスを作成してください。ただし、請求先住所が未入力の場合は、「住所不明」として出力してください。

この問題を解決することで、Apexでのデータの取得方法、条件分岐の使用方法、およびコンソールへの出力方法を練習することができます。

問題解決のフレームワーク

  • 目的の確認
    • 問題文から、取引先の名前と請求先住所をコンソールに出力することが目的であることを理解する。また、請求先住所が未入力の場合は、「住所不明」として出力する必要があることも確認する。
  • 必要なデータの特定
    • 取引先の名前(「Account」オブジェクトの「Name」項目)
    • 取引先の請求先住所(「Account」オブジェクトの「BillingAddress」項目)
  • データの取得方法の検討
    • SalesforceのSOQLを使用してデータを取得する。
    • 「Account」オブジェクトから名前と請求先住所のデータを取得する。
  • コードの構築
    • 適切なクラスとメソッドの定義を行う。
    • SOQLクエリを使用して、必要なデータを取得するコードを書く。その後、条件分岐を使用して請求先住所が未入力の場合の処理を追加する。
  • データの処理
    • 取得した「Account」オブジェクトのリストをfor文でループ処理する。
    • 各取引先の名前と請求先住所を確認し、請求先住所が未入力の場合は、「住所不明」として出力する。
  • コードの最終形
    • 全ての処理を組み合わせて、最終的なコードを完成させる。

解答例

public class AccountBillingAddressLogger {
    public static void logAccountBillingAddresses(){
        List<Account> accounts = [SELECT Name, BillingAddress FROM Account];
        for(Account acc : accounts){
            String address;
            if(acc.BillingAddress != null) {
                address = String.valueOf(acc.BillingAddress);
            } else {
                address = '住所不明';
            }
            System.debug('Account Name: ' + acc.Name + ', Billing Address: ' + address);
        }
    }
}

解説

このクラスAccountBillingAddressLoggerは、Salesforceの標準オブジェクト「Account」から取引先の名前と請求先住所を取得し、それをコンソールに出力する目的で作成されています。

  1. クラスとメソッドの定義:
    • AccountBillingAddressLoggerという名前のクラスが定義されています。このクラス内に、logAccountBillingAddressesという静的メソッドが定義されています。
  2. データの取得:
    • この行では、Salesforceの標準オブジェクト「Account」から取引先の名前(Name)と請求先住所(BillingAddress)を取得しています。
List<Account> accounts = [SELECT Name, BillingAddress FROM Account];
  1. データの処理と出力:
    • この部分では、取得した取引先の情報を1つずつ処理しています。請求先住所がnullかどうかを確認し、nullの場合は「住所不明」として出力するようにしています。各取引先の名前と請求先住所(または「住所不明」)をコンソールに出力しています。
for(Account acc : accounts){
    String address;
    if(acc.BillingAddress != null) {
        address = String.valueOf(acc.BillingAddress);
    } else {
        address = '住所不明';
    }
    System.debug('Account Name: ' + acc.Name + ', Billing Address: ' + address);
}

解答例(解説付き)

public class AccountBillingAddressLogger {
    // logAccountBillingAddressesメソッドは、取引先の名前と請求先住所をコンソールに出力するためのメソッドです。
    public static void logAccountBillingAddresses(){
        // Salesforceの「Account」オブジェクトから取引先の名前(Name)と請求先住所(BillingAddress)を取得するSOQLクエリ
        List<Account> accounts = [SELECT Name, BillingAddress FROM Account];
        
        // 取得した取引先のリストをループで処理
        for(Account acc : accounts){
            String address;
            // 請求先住所がnullかどうかを確認
            if(acc.BillingAddress != null) {
                address = String.valueOf(acc.BillingAddress);
            } else {
                // 請求先住所がnullの場合は「住所不明」として出力
                address = '住所不明';
            }
            // 取引先の名前と請求先住所(または「住所不明」)をコンソールに出力
            System.debug('Account Name: ' + acc.Name + ', Billing Address: ' + address);
        }
    }
}

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

コメント

コメントする

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約が適用されます。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次