Subversion Repositories Integrator Subversion

Rev

Rev 760 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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