GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Poo em Java


#1

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) {
	
}

}
Como fazer esse aplicarDesconto do desconto ?


#2

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);
}
}

#3

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


#4

Deu certo. Obrigada!


#5

Entendi como funciona . Obrigada !