Não entendi o que estava dando errado, poderia explicar de forma mais clara?
Não entendi o que estava dando errado, poderia explicar de forma mais clara?
Oi, Pedro, tudo bem?
No código apresentado, temos duas condições para verificar a quantidade de milhas e aplicar o desconto correspondente.
A primeira condição é if(quantidadeMilhas > 5000)
, que verifica se a quantidade de milhas é maior que 5.000. Se essa condição for verdadeira, o desconto de 10% é aplicado, somando 10 ao valor de porcentagemDesconto
.
A segunda condição é if(quantidadeMilhas > 30000)
, que verifica se a quantidade de milhas é maior que 30.000. Se essa condição for verdadeira, o desconto de 20% é aplicado, somando 20 ao valor de porcentagemDesconto
.
No entanto, o bug ocorre quando a quantidade de milhas é maior que 5.000, mas menor que 30.000. Nesse caso, o segundo if
sobrescreve o valor de porcentagemDesconto
para 0, anulando o desconto de 10% que deveria ser aplicado.
Para corrigir o bug, é necessário fazer a utilização de um bloco if
dentro do bloco else
. Dessa forma, se a quantidade de milhas for maior que 5.000, mas menor que 30.000, o desconto de 10% será aplicado corretamente.
Espero ter ajudado. Caso tenha dúvidas, conte com o fórum.
Abraços!