Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
MaCalculette3 |
|
| 18.0;18 |
1 | package com.dvp.tutoriel.fibonacci; | |
2 | ||
3 | 0 | public class MaCalculette3 implements Calculette { |
4 | ||
5 | @Override | |
6 | public Long fibonacci(Integer n) { | |
7 | ||
8 | // REGLE RG024.4 | |
9 | 0 | if (n <= 0) { |
10 | 0 | throw new IllegalArgumentException("On ne calcule que pour des nombres positifs"); |
11 | } | |
12 | ||
13 | // REGLE RG024.1 | |
14 | // REGLE RG024.2 | |
15 | // REGLE RG024.3 | |
16 | 0 | switch (n) { |
17 | case 1: | |
18 | case 2: | |
19 | 0 | return 1L; |
20 | ||
21 | case 3: | |
22 | 0 | return 2L; |
23 | ||
24 | case 4: | |
25 | 0 | return 3L; |
26 | ||
27 | case 5: | |
28 | 0 | return 5L; |
29 | ||
30 | case 6: | |
31 | 0 | return 8L; |
32 | ||
33 | case 7: | |
34 | 0 | return 13L; |
35 | case 8: | |
36 | 0 | return 21L; |
37 | ||
38 | default: | |
39 | 0 | return fibonacci(n - 1) + fibonacci(n - 2); |
40 | } | |
41 | ||
42 | } | |
43 | ||
44 | } |