Imagem de fundo

Considere o seguinte trecho de código Java.public class...

Considere o seguinte trecho de código Java.

public class Produto {

private String nome;
private double preco;

public Produto(String nome, float preco) {
this.nome = nome;
this.preco = preco;
}

public double calcularDesconto(double percentual) {
double valorFinal = preco - (preco * percentual);
return valorFinal;
}

public static void main(String[] args) {

int percentual = 10;

Produto p = new Produto("Notebook", 3500.0f);

System.out.println(p.calcularDesconto(percentual /
100));
}
}

Considerando os conceitos de variáveis, tipos de dados e Programação Orientada a Objetos em Java, assinale a alternativa correta.


A

O método calcularDesconto() retornará 3150,0, pois a divisão entre percentual e 100 é convertida automaticamente para double antes da chamada do método.


B

O código compila normalmente, porém o método imprimirá 3500,0, pois a expressão percentual / 100 realiza divisão inteira, produzindo o valor 0, que posteriormente é convertido para double.


C

O código apresenta erro de compilação porque o construtor recebe um parâmetro do tipo float, enquanto o atributo preco foi declarado como double.


D

O código apresenta erro de compilação porque um atributo declarado como private somente pode ser inicializado por métodos set, não sendo permitido atribuí-lo diretamente no construtor.


E

O método calcularDesconto() deveria retornar um valor do tipo float, pois o atributo utilizado nos cálculos foi inicializado a partir de um literal float.