Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 1 da Aula 3 - Ifs e Switches

Gostaria que vocês avaliassem a proposta que fiz. Criei um método [calcularImposto()] private para ser chamado pelo construtor e que atribui à variável de instância impostos. Com isso, já na criação do objeto nota, tem-se o imposto calculado.

O que acham?

//-------------------------------------------------------------------

public class NotaFiscal {

private int id; private double valorBruto; private double impostos;

public NotaFiscal(int id, double valorBruto) { this.id = id; this.valorBruto = valorBruto; calculaImposto(); }

public NotaFiscal(double valorBruto) { this(0, valorBruto); }

public int getId() { return id; } public void setId(int id) { this.id = id; } public double getValorBruto() { return valorBruto; } public void setValorBruto(double valorBruto) { this.valorBruto = valorBruto; } public double getImpostos() { return impostos; } public void setImpostos(double impostos) { this.impostos = impostos; }

public double getValorLiquido() { return this.valorBruto - this.impostos; }

private void calculaImposto() {

if(this.valorBruto < 200) { this.impostos = this.valorBruto 0.03; } else if(this.valorBruto > 200 && this.valorBruto <= 1000) { this.impostos = this.valorBruto 0.06; } else { this.impostos = this.valorBruto * 0.07; } }

}

1 resposta
solução!

A forma como você fez, está certa. Não vejo erro. Porém, se o intuíto é fazer com que o objeto sofra modificações no decorrer do tempo, você não conseguirá dessa forma. Mas, se ao criar o objeto, você garantir que ele nunca sofrerá alterações, então é dessa forma que deve ser feito.