Boa tarde pessoal, estou resolvendo um código e está dando NullPointerException, alguém poderia me dar uma ajuda com ele?
Tenho que criar uma caixa de mercado, em uma classe estão as características dos produtos e em outra estão as informações do Caixa com um método para calcular o valor final da compra.
Segue abaixo como eu fiz, não consegui identificar meu erro…
public class Produto {
public String nome;
public double valor;
public int tipo;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public double getValor() {
return valor;
}
public void setValor(double valor) {
this.valor = valor;
}
public int getTipo() {
return tipo;
}
public void setTipo(int tipo) {
this.tipo = tipo;
}
public Produto(String nome, double valor, int tipo) {
this.nome = nome;
this.valor = valor;
this.tipo = tipo;
}
}
public class Caixa {
public Produto produto;
public int quantidade;
public void calcularValorFinal(Produto produto,int quantidade) {
double totalValorFinal;
if (this.getProduto().tipo == 1) {
totalValorFinal = ((this.getProduto().valor * quantidade) - ((this.getProduto().valor * quantidade) * 0.10));
System.out.println("Valor Final do Produto " + this.getProduto() + totalValorFinal);
} else if(this.getProduto().tipo ==2){
totalValorFinal = ((this.getProduto().valor * quantidade) - ((this.getProduto().valor * quantidade) * 0.20));
System.out.println("Valor Final do Produto " + this.getProduto() + totalValorFinal);
}else if(this.getProduto().tipo ==3) {
totalValorFinal = ((this.getProduto().valor * quantidade) - ((this.getProduto().valor * quantidade) * 0.30));
System.out.println("Valor Final do Produto " + this.getProduto() + totalValorFinal);
}
}
public Produto getProduto() {
return produto;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
public int getQuantidade() {
return quantidade;
}
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}
}
public class Main {
public static void main(String[] args) {
Produto banana = new Produto("banana", 0.99d, 2);
Produto energetico = new Produto("energetico", 5.49d, 3);
Produto arroz = new Produto("arroz", 20d, 1);
Produto chocolate = new Produto("chocolate", 4.50d, 1);
Produto leite = new Produto("leite", 3.73d, 3);
Produto abacaxi = new Produto("abacaxi", 2.40d, 2);
Caixa valorFinal = new Caixa();
valorFinal.calcularValorFinal(banana, 3);
valorFinal.calcularValorFinal(energetico, 7);
valorFinal.calcularValorFinal(arroz, 1);
valorFinal.calcularValorFinal(chocolate, 12);
valorFinal.calcularValorFinal(leite, 5);
valorFinal.calcularValorFinal(abacaxi, 1);
}
}