Oi Antonio, tudo bem? 😊
Analisando o seu código, o problema está na forma como você está calculando o desconto. 🤔
Em Java, quando você divide dois números inteiros, o resultado é um inteiro.
No seu caso, (10/100) resulta em 0, pois a divisão inteira de 10 por 100 é zero.
Para corrigir isso, você precisa garantir que a divisão seja feita usando números de ponto flutuante (como double).
Você pode fazer isso alterando a expressão para (10.0/100.0) ou (10d/100d).
Veja como ficaria o código corrigido:
System.out.println("O cliente é cadastrado [S/N]?");
cadastro = input.nextLine();
if(cadastro.equalsIgnoreCase("S")) {
for (int i = 0; i < precos.size(); i++){
double desconto = precos.get(i) * (10.0/100.0);
double precoDesconto = precos.get(i) - desconto;
System.out.println(precoDesconto);
}
}
input.close();
Dessa forma, o desconto será calculado corretamente. 👍
🎓 Para saber mais: