Skip to content

Commit 2c0c805

Browse files
committed
1 parent 6468fa1 commit 2c0c805

File tree

3 files changed

+37
-9
lines changed

3 files changed

+37
-9
lines changed
Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,41 @@
11
# [Average of Even Numbers in a List](https://www.codewars.com/kata/average-of-even-numbers-in-a-list "https://www.codewars.com/kata/685a10c62388b0a0220ac88d")
22

3-
# Average of Even Numbers in a List
4-
53
Your task is to write a method that calculates the average of all even numbers in a list of integers.
64
If the list contains no even numbers, return `0.0`.
75

86
---
97

108
## Function Signature
9+
1110
```java
1211
public static double averageOfEvens(List<Integer> numbers)
1312
```
1413

1514
---
1615

1716
## Input
17+
1818
A `List<Integer>` of length n (1 ≤ n ≤ 100,000)
1919

2020
---
2121

2222
## Output
23-
A `double` representing the average of all even numbers in the list.
23+
24+
A `double` representing the average of all even numbers in the list.
2425
If there are no even numbers, return `0.0`
2526

2627
---
2728

2829
## Examples
30+
2931
```java
30-
averageOfEvens(Arrays.asList(2, 4, 6, 8, 10)) => 6.0
31-
averageOfEvens(Arrays.asList(1, 3, 5)) => 0.0
32-
averageOfEvens(Arrays.asList(10, 15, 20, 25, 30)) => 20.0
33-
averageOfEvens(Arrays.asList(0, 0, 0)) => 0.0
34-
averageOfEvens(Arrays.asList(1, -4, -6, 3)) => -5.0
35-
```
32+
averageOfEvens(Arrays.asList(2, 4,6,8,10))=>6.0
33+
34+
averageOfEvens(Arrays.asList(1, 3,5))=>0.0
35+
36+
averageOfEvens(Arrays.asList(10, 15,20,25,30))=>20.0
37+
38+
averageOfEvens(Arrays.asList(0, 0,0))=>0.0
39+
40+
averageOfEvens(Arrays.asList(1, -4,-6,3))=>-5.0
41+
```
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import java.util.List;
2+
3+
interface EvenAverage {
4+
static double averageOfEvens(List<Integer> numbers) {
5+
return numbers.stream().mapToInt(i -> i).filter(i -> i % 2 == 0).average().orElse(0);
6+
}
7+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import static org.junit.jupiter.api.Assertions.assertEquals;
2+
3+
import java.util.List;
4+
import org.junit.jupiter.api.Test;
5+
6+
class SolutionTest {
7+
@Test
8+
void sample() {
9+
assertEquals(6.0, EvenAverage.averageOfEvens(List.of(2, 4, 6, 8, 10)));
10+
assertEquals(0.0, EvenAverage.averageOfEvens(List.of(1, 3, 5)));
11+
assertEquals(20.0, EvenAverage.averageOfEvens(List.of(10, 15, 20, 25, 30)));
12+
assertEquals(0.0, EvenAverage.averageOfEvens(List.of(0, 0, 0)));
13+
assertEquals(-5.0, EvenAverage.averageOfEvens(List.of(1, -4, -6, 3)));
14+
}
15+
}

0 commit comments

Comments
 (0)