1
resposta

ERRO

Para praticar resolvi criar uma atividade, porém preciso de ajuda com o erro que está dando como resolvo isso ?

public class CarrinhoCompra {

private Produto produto;
private int quantidade;
private double frete;
private double precoFinal = produto.getPreco() + frete; // o erro é nessa linha
private String formaPagamento;
private Cliente cliente;

public class TestaCompra { public static void main(String[] args) {

    Cliente Sillas = new Cliente ("Sillas Santos", "095.346.564.02",
            "Rua Istambul, 90 A");

    System.out.println(Sillas.getNome());
    System.out.println(Sillas.getCpf());
    System.out.println(Sillas.getEndereco());

    Produto notebook = new Produto("Dell i7", 7500, "Informática/Técnologia" );

    CarrinhoCompra compraSillas = new CarrinhoCompra(notebook, 1, "Boleto");

    compraSillas.cliente(Sillas);

    compraSillas.setProduto(notebook);
    notebook.setPreco(7500);

    System.out.println(notebook.getPreco());
    System.out.println(compraSillas.getPrecoFinal());

Console erro :

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "Produto.getPreco()" because "this.produto" is null at CarrinhoCompra.(CarrinhoCompra.java:6) at TestaCompra.main(TestaCompra.java:14)

1 resposta

O produto da classe Carrinho compra é nulo, ou seja ele irá receber um valor somente após o construtor da classe ou algum método setProduto dependendo de como você implementou. Você está tentando utilizar o valor dele antes de definir uma instância para ele ai ocorre o erro. Tenta preencher o valor de preço final após atribuir a instância de produto.