mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-27 14:34:05 +08:00
Change project structure to a Maven Java project + Refactor (#2816)
This commit is contained in:

committed by
GitHub

parent
8e533d2617
commit
9fb3364ccc
46
src/main/java/com/thealgorithms/maths/Average.java
Normal file
46
src/main/java/com/thealgorithms/maths/Average.java
Normal file
@ -0,0 +1,46 @@
|
||||
package com.thealgorithms.maths;
|
||||
|
||||
/**
|
||||
* Calculate average of a list of numbers
|
||||
*/
|
||||
public class Average {
|
||||
|
||||
private static final double SMALL_VALUE = 0.00001f;
|
||||
|
||||
public static void main(String[] args) {
|
||||
assert Math.abs(average(new double[]{3, 6, 9, 12, 15, 18, 21}) - 12) < SMALL_VALUE;
|
||||
assert Math.abs(average(new double[]{5, 10, 15, 20, 25, 30, 35}) - 20) < SMALL_VALUE;
|
||||
assert Math.abs(average(new double[]{1, 2, 3, 4, 5, 6, 7, 8}) - 4.5) < SMALL_VALUE;
|
||||
int[] array = {2, 4, 10};
|
||||
assert average(array) == 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate average of a list of numbers
|
||||
*
|
||||
* @param numbers array to store numbers
|
||||
* @return mean of given numbers
|
||||
*/
|
||||
public static double average(double[] numbers) {
|
||||
double sum = 0;
|
||||
for (double number : numbers) {
|
||||
sum += number;
|
||||
}
|
||||
return sum / numbers.length;
|
||||
}
|
||||
|
||||
/**
|
||||
* find average value of int array
|
||||
*
|
||||
* @param array the array contains element and the sum does not excess long
|
||||
* value limit
|
||||
* @return average value
|
||||
*/
|
||||
public static int average(int[] array) {
|
||||
long sum = 0;
|
||||
for (int i = 0; i < array.length; ++i) {
|
||||
sum += array[i];
|
||||
}
|
||||
return (int) (sum / array.length);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user