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.
public class Carro {
String modelo;
String placa;
int ano;
double valor;
Carro(){
}
Carro(String mod, String pla){
modelo=mod;
placa=pla;
}
Carro(String mod, String pla, int a, int val){
modelo=mod;
placa=pla;
ano=a;
valor=val;
}
void aplicarDesconto(double d) {
}
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;
public class TesteDesconto {
public static void main(String[] args) {
Carro carro = new Carro("fuca", "qwe1232", 1980, 5000.00);
carro.aplicarDesconto(10);
}
}
class Carro {
String modelo;
String placa;
int ano;
double valor;
Carro(){
}
Carro(String mod, String pla){
modelo=mod;
placa=pla;
}
Carro(String mod, String pla, int a, double val){
modelo=mod;
placa=pla;
ano=a;
valor=val;
}
void aplicarDesconto(double d) {
valor = valor * (100-d)/100;
System.out.println(valor);
}
}
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