

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
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.
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.
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.
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.
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.
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.