Rev 760 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 760 | blopes | 1 | package br.com.kronus.fibo; |
| 2 | |||
| 762 | blopes | 3 | import java.math.BigDecimal; |
| 760 | blopes | 4 | import java.util.LinkedHashMap; |
| 5 | import java.util.Map; |
||
| 6 | |||
| 7 | public class FibonacciService { |
||
| 8 | |||
| 762 | blopes | 9 | public Map<BigDecimal, BigDecimal> calcularNiveis(BigDecimal precoInicial, BigDecimal precoFinal, double[] niveis) { |
| 10 | Map<BigDecimal, BigDecimal> mapa = new LinkedHashMap<>(); |
||
| 11 | BigDecimal amplitude = precoFinal.subtract(precoInicial); |
||
| 760 | blopes | 12 | for (double nivel : niveis) { |
| 762 | blopes | 13 | BigDecimal preco = amplitude.multiply(new BigDecimal(nivel)); |
| 14 | preco = precoInicial.add(preco); |
||
| 15 | mapa.put(new BigDecimal(nivel), preco); |
||
| 760 | blopes | 16 | } |
| 17 | return mapa; |
||
| 18 | } |
||
| 19 | |||
| 762 | blopes | 20 | public Map<BigDecimal, BigDecimal> calcularFiboPreco(BigDecimal precoInicial, BigDecimal precoFinal) { |
| 760 | blopes | 21 | return calcularNiveis(precoInicial, precoFinal, FibonacciConfig.FIBO_PRECO); |
| 22 | } |
||
| 23 | |||
| 762 | blopes | 24 | public Map<BigDecimal, BigDecimal> calcularFiboProjecao(BigDecimal precoInicial, BigDecimal precoFinal) { |
| 760 | blopes | 25 | return calcularNiveis(precoInicial, precoFinal, FibonacciConfig.FIBO_PROJECAO); |
| 26 | } |
||
| 27 | } |