Suponha que você esteja trabalhando em uma aplicação Java de uma loja, que tenha a seguinte classe:
public class Produto {
String nome;
double preco;
double descontoParaPix;
double pegaPrecoFinal(boolean pagamentoViaPix) {
if (pagamentoViaPix == true) {
double precoFinal = preco - descontoParaPix;
} else {
double precoFinal = preco;
}
}
}
O método pegaPrecoFinal realiza o cálculo do preço final do produto, levando em consideração se o pagamento será realizado via pix. No entanto, esse método foi definido de maneira incorreta.
Qual o problema do método pegaPrecoFinal?
O método foi iniciado errado, a variável precoFinal só existe dentro do bloco if, else e não retorna nada, Versão correta para o código:
public class produto {
String nome;
double preco;
double descontoParaPix;
double pegaPrecoFinal(boolean pagamentoViaPix) {
double precoFinal;
if (pagamentoViaPix == true) {
precoFinal = preco - descontoParaPix;
} else {
precoFinal = preco;
}
return precoFinal;
}
}