Skip to content

Instantly share code, notes, and snippets.

@guaracyalima
Last active November 12, 2024 16:56
Show Gist options
  • Save guaracyalima/15c8959a32c352815761369e575e94dd to your computer and use it in GitHub Desktop.
Save guaracyalima/15c8959a32c352815761369e575e94dd to your computer and use it in GitHub Desktop.
Desafio 0 to Hero Academy #L1

0 to Hero Academy

Level: L1

Implementação em breve no YouTube

Desafio: Calculadora de Juros Compostos

Você precisa criar uma calculadora de juros compostos que ajudará usuários a estimar o saldo de uma aplicação ao longo do tempo. A calculadora deve ter os seguintes métodos principais:

Calcular Juros Compostos:

  • Método: BigDecimal calcularSaldo(BigDecimal valorInicial, BigDecimal taxaJurosAnual, int anos).
  • Retorna o saldo após um período de anos, com juros compostos aplicados anualmente.
  • Fórmula: saldo = valorInicial * (1 + taxaJurosAnual) ^ anos.

Simulação de Aporte Mensal:

  • Método: BigDecimal calcularSaldoComAporte(BigDecimal valorInicial, BigDecimal taxaJurosAnual, int anos, BigDecimal aporteMensal).
  • Retorna o saldo ao final dos anos, considerando aportes mensais adicionais.

Regras:

  • Implemente os métodos mencionados.
  • Utilize o tipo BigDecimal para cálculos de precisão financeira.
  • Escreva testes unitários para os seguintes cenários:
  • Caso Básico: Verificar se a função calcularSaldo calcula corretamente o saldo após um período com valor inicial e taxa de juros.
  • Aporte Mensal: Verificar se a função calcularSaldoComAporte calcula corretamente o saldo com aportes mensais.
  • Valores Extremos: Testar com taxas de juros próximas de zero e valores iniciais elevados.

Dica:

Lembre-se de verificar a precisão dos valores usando BigDecimal#compareTo em seus testes unitários para garantir que os cálculos estejam exatos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment