/** * ドメイン非依存URL出力フィルタ * javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい * * データベースには絶対URL(https://minner.asia)を保持し、 * 表示時に現在のドメイン(home_url())に動的変換する */ function javadrill_make_urls_dynamic($content) { if (empty($content)) { return $content; } // データベース内の絶対URLを現在のhome_url()に置換 $old_url = 'https://minner.asia'; $new_url = untrailingslashit(home_url()); // http版も対応(念のため) $content = str_replace($old_url, $new_url, $content); $content = str_replace('http://minner.asia', $new_url, $content); return $content; } // 投稿本文、ウィジェット、タームの説明、抜粋に適用 add_filter('the_content', 'javadrill_make_urls_dynamic', 20); add_filter('widget_text', 'javadrill_make_urls_dynamic', 20); add_filter('term_description', 'javadrill_make_urls_dynamic', 20); add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20); 010 メソッドのオーバーロード 006 解答例 | Javaドリル

010 メソッドのオーバーロード 006 解答例

010-006 010 メソッドのオーバーロード
public class ArrayProcessor {

    // 整数の配列の合計を計算するメソッド
    public static int sum(int[] array) {
        int sum = 0;
        for (int num : array) {
            sum += num;
        }
        return sum;
    }

    // 浮動小数点数の配列の合計を計算するメソッド(オーバーロード)
    public static double sum(double[] array) {
        double sum = 0;
        for (double num : array) {
            sum += num;
        }
        return sum;
    }

    // 整数の配列の平均を計算するメソッド
    public static double average(int[] array) {
        int sum = sum(array);
        return (double) sum / array.length;
    }

    // 浮動小数点数の配列の平均を計算するメソッド(オーバーロード)
    public static double average(double[] array) {
        double sum = sum(array);
        return sum / array.length;
    }

    public static void main(String[] args) {
        // 整数の配列
        int[] intArray = {1, 2, 3, 4, 5};
        System.out.println("Sum of intArray: " + sum(intArray)); // 出力: Sum of intArray: 15
        System.out.println("Average of intArray: " + average(intArray)); // 出力: Average of intArray: 3.0

        // 浮動小数点数の配列
        double[] doubleArray = {1.5, 2.5, 3.5, 4.5, 5.5};
        System.out.println("Sum of doubleArray: " + sum(doubleArray)); // 出力: Sum of doubleArray: 17.5
        System.out.println("Average of doubleArray: " + average(doubleArray)); // 出力: Average of doubleArray: 3.5
    }
}

このコードでは、整数と浮動小数点数の配列に対してそれぞれ合計と平均を計算するメソッドを提供しています。オーバーロードにより、異なるデータ型に対応しています。

ポイント:

  • オーバーロードされたメソッド:
    • sum メソッドと average メソッドが、それぞれ整数配列と浮動小数点数配列に対する計算を行うオーバーロードされたメソッドとして実装されています。
  • データ型ごとの処理:
    • 整数の配列と浮動小数点数の配列に対して、それぞれ適切なデータ型で合計と平均を計算するためのメソッドが提供されています。
  • sum メソッドの実装:
    • sum メソッドでは、for-each ループを使用して配列の各要素を合計に加算しています。
  • average メソッドの実装:
    • average メソッドでは、事前に定義された sum メソッドを利用して合計を取得し、その後に要素数で割って平均を計算しています。
  • main メソッド:
    • main メソッドでは、整数の配列と浮動小数点数の配列を作成し、それぞれのメソッドを呼び出して結果を表示しています。

このような構造にすることで、同じ処理を異なるデータ型に対して再利用でき、コードの冗長性が低減されます。また、オーバーロードにより、同じメソッド名を使用して異なるデータ型に対応する柔軟性が確保されています。

「010 メソッドのオーバーロード」問題集リスト

🎯 実習で理解を深めよう

この内容についてJavaDrillで実際に手を動かして学習できます

コメント

タイトルとURLをコピーしました