Algorithm | 合計、平均、最大値、最小値、データ交換

合計

配列のすべての要素を合計した値を求める。
要素を1つずつ取り出してsumに加えていく方式である。

package com.devkuma.algorithum.programming.basic;

public class Sum {

    int sum(int[] nums) {
        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        return sum;
    }

    public static void main(String[] args) {
        Sum sum = new Sum();

        int[] nums = {1, 4, 3, 8, 5};
        System.out.println("합계: " + sum.sum(nums));
    }
}

実行結果:

합계: 21

平均

総値をデータ数で割った値が平均値である。

package com.devkuma.algorithum.programming.basic;

public class Average {
    int average(int[] nums) {
        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        return sum / nums.length;
    }

    public static void main(String[] args) {
        Average average = new Average();

        int[] nums = {1, 4, 3, 8, 5};
        System.out.println("평균:" + average.average(nums));
    }
}

実行結果:

합계: 21

最大値

package com.devkuma.algorithum.programming.basic;

public class Max {
    int max(int[] nums) {
        int max = 0;
        for (int num : nums) {
            if (max < num) {
                max = num;
            }
        }
        return max;
    }

    public static void main(String[] args) {
        Max max = new Max();

        int[] nums = {1, 4, 3, 8, 5};
        System.out.println("최대값:" + max.max(nums));
    }
}

実行結果:

합계: 21

最小値

package com.devkuma.algorithum.programming.basic;

public class Min {
    int min(int[] nums) {
        int min = Integer.MAX_VALUE;
        for (int num : nums) {
            if (min > num) {
                min = num;
            }
        }
        return min;
    }

    public static void main(String[] args) {
        Min min = new Min();

        int[] nums = {1, 4, 3, 8, 5};
        System.out.println("최소값:" + min.min(nums));
    }
}

データ交換

単純に2つのデータを入れ替えるときは、そのデータが入った変数と一時変数(temp)を1つ用意する。
理由は、2つしかない場合、一方を変更すると、もう一方に入れるべきデータがすでに上書きされてしまうためである。

package com.devkuma.algorithum.programming.basic;

public class Swap {

    public static void main(String[] args) {
        int a = 1;
        int b = 2;

        int temp = a;
        a = b;
        b = temp;

        System.out.println("a:" + a); // 2
        System.out.println("b:" + b); // 1
    }
}

実行結果:

합계: 21