3. Um desenvolvedor Java está criando um sistema de controle de pedidos para uma empresa varejista. Ele está desenvolvendo uma classe chamada Produto, estruturada da seguinte maneira:
public class Produto { int codigo; String nome; double preco; }
Ele deseja criar um método chamado calcularDesconto, que tem como parâmetro o valor da porcentagem do desconto e retorna o preço do produto com o desconto da porcentagem informada. O valor deve ser calculado a partir do valor do atributo preco da classe Produto.
Por exemplo, para um produto com preço igual a 100.0, um desconto de 9% retornaria o valor 91.0.
A seguir, assinale a alternativa que contém uma implementação desse método funcionando da forma requisitada.
A. calcularDesconto(double desconto) {
preco = preco - desconto;
}
B. double calcularDesconto() {
return (1 - desconto/100) * preco;
}
C. double calcularDesconto(double desconto) {
preco = (1 - desconto/100) * preco;
}
D. double calcularDesconto(double preco, double desconto) {
está incorreta, pois calcula o valor do desconto de um valor informado como parâmetro pelo usuário, e não pelo valor do atributo preco da classe Produto.
Assim, a alternativa que atende ao que foi solicitado é
Lista de comentários
Resposta: E
Explicação:
A alternativa
calcularDesconto(double desconto) {
preco = preco - desconto;
}
está incorreta, pois a declaração do método está errada, uma vez que falta o tipo de retorno. Além disso, o cálculo efetuado está incorreto.
A alternativa
double calcularDesconto() {
return (1 - desconto/100) * preco;
}
está incorreta, pois não declara o parâmetro desconto na declaração do método.
A alternativa
double calcularDesconto(double desconto) {
preco = (1 - desconto/100) * preco;
}
está incorreta, pois não retorna o valor do preço com desconto; em vez disso, altera o valor do atributo preco da classe.
A alternativa
double calcularDesconto(double preco, double desconto) {
return (1 - desconto/100) * preco;
}
está incorreta, pois calcula o valor do desconto de um valor informado como parâmetro pelo usuário, e não pelo valor do atributo preco da classe Produto.
Assim, a alternativa que atende ao que foi solicitado é
double calcularDesconto(double desconto) {
return (1 - desconto/100) * preco;
}