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