Sfoglia il codice sorgente

sum-of-multiples: replace forloop

MichaelSpets 9 anni fa
parent
commit
ee129aabdf

+ 6
- 16
exercises/sum-of-multiples/src/example/java/SumOfMultiples.java Vedi File

@@ -1,3 +1,6 @@
1
+import java.util.Arrays;
2
+import java.util.stream.IntStream;
3
+
1 4
 public class SumOfMultiples {
2 5
     private final int sum;
3 6
 
@@ -11,22 +14,9 @@ public class SumOfMultiples {
11 14
 
12 15
     private int calculateSum(int number, int[] set) {
13 16
 
14
-        int sum = 0;
15
-        int count = 0;
16
-
17
-        for (int i = 1; i < number; i++) {
18
-
19
-            for (int j = 0; j < set.length; j++) {
20
-                if (i % set[j] == 0) {
21
-                    count++;
22
-                }
23
-            }
24
-
25
-            if (count > 0) {
26
-                sum = sum + i;
27
-                count = 0;
28
-            }
29
-        }
17
+        int sum = IntStream.range(1,number)
18
+                .filter(i -> Arrays.stream(set).filter(j -> i % j == 0).count() > 0)
19
+                .sum();
30 20
 
31 21
         return sum;
32 22
     }