Operações: void aplicarDesconto (double percentual): aplica o percentual de desconto ao valor do veículo, alterando o referido valor; void visualizar (): mostrar na tela os dados do Carro.
Supondo que tu vais passar o desconto em percentual.
Por exemplo carro.aplicarDesconto(10);
Poderia fazer assim:
Subtrai o desconto de 100 e divide por 100. Assim, se o desconto fosse zero, o valor seria multiplicado por um e o valor se manteria o mesmo.
Só tens que alterar o tipo da variavel valor de int para double;
O único problema que eu vejo é o de entender as unidades.
Um desconto é uma fração do preço. Vc pode diminuir o valor em 10% ou em 1/10 do valor.
Se no contexto vc está trabalhando com porcentagem, tem que fazer esse calculo de dividir a porcentagem por 100
Portanto vamos dar nomes legíveis
Ao inves de d, chama de porcentagem o parâmetro desse método.
Só não se sabe o que deveria acontecer com descontos negativos ou acima de 100. Talvez lançar uma IllegalArgumentException ou retornar um boolean false se não foi capaz de aplicar o desconto