assign an object from a list as an attribute of another class

1

I am doing data import through txt file, and packed in that class which has two attributes of type object, vendor and product. When I read the txt file, I pass as a parameter only the code of the same ones, and I try to check the list if they exist, and if yes I add them as an attribute.

But unlike the other import methods I've done before, it's not adding any way.

The Catch exception gives me the following error:

Excessao : java.lang.NullPointerException

Exception in thread "main" java.lang.NullPointerException
at Sistema.Importa.main(Importa.java:113)  \* obj.getFornecedor().setCodigo(codigoF);  é a linha removida com comentário

follows the method code

public static void main(String[] args) {         

    File arquivo = new File("C:\Users\itach\Desktop\RegistroCompras.txt");
    try{

    Scanner  scanner = new Scanner(arquivo);

    DaoContasPagar dao = new DaoContasPagar();
    while(scanner.hasNextLine()){

        String s[];

        s=(scanner.nextLine().split(";"));
        CompraDeProdutos obj = new CompraDeProdutos();

        int numeronf = Integer.parseInt(s[0]);
        obj.setNotaFiscal(numeronf);
        int codigoF=Integer.parseInt(s[1]);
        obj.getFornecedor().setCodigo(codigoF); \* removi essa linha 
        for(Fornecedor lista : Dados.listaFornecedores){
            if(lista.getCodigo()==codigoF){
                obj.setFornecedor(lista);
           }
            else
                {
                    System.out.println("fornecedor nao existe");

                        } 
        }
        obj.setData(s[2]);
        int codigoP= Integer.parseInt(s[3]);

        for(Produto lista : Dados.listaProdutos){
            if(lista.getCodigo()==codigoP){
                obj.setProduto(lista);

            }
            else
                {
                    System.out.println("fornecedor nao existe");

                        } 
            }

        int quantidade=Integer.parseInt(s[4]);
        obj.setQuantidade(quantidade);
        dao.NovaCompra(obj);

        }

    }
    catch(Exception e){

    }
}

and the class from which I'm generating a new object, with the imported data.

public class CompraDeProdutos {
    private int notaFiscal;
    private Produto produto;
    private String data;
    private Fornecedor fornecedor;
    private int quantidade;
    private double totalApagar;

    public List <Produto> getLista(){
        return Dados.listaProdutos;
    }

    public CompraDeProdutos(int notaFiscal, Produto produto, String data, Fornecedor fornecedor, int quantidade, double totalApagar) {
        this.notaFiscal = notaFiscal;
        this.produto = produto;
        this.data = data;
        this.fornecedor = fornecedor;
        this.quantidade = quantidade;
        this.totalApagar = totalApagar;
    }



    public int getNotaFiscal() {
        return notaFiscal;
    }

    public void setNotaFiscal(int notaFiscal) {
        this.notaFiscal = notaFiscal;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public double getTotalApagar() {
        return totalApagar;
    }

    public void setTotalApagar(int totalApagar) {
        this.totalApagar = totalApagar;
    }

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

    public Fornecedor getFornecedor() {
        return fornecedor;
    }

    public void setFornecedor(Fornecedor fornecedor) {
        this.fornecedor =fornecedor;
    }

    public CompraDeProdutos() {
    }



    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    @Override
    public String toString() {
        return  "" + getNotaFiscal() + ";" +getFornecedor().getCodigo()+";" + getData() + ";" + getProduto()+ ";" + getQuantidade() + ";"+getTotalApagar()+";";
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 11 * hash + this.notaFiscal;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final CompraDeProdutos other = (CompraDeProdutos) obj;
        if (this.notaFiscal != other.notaFiscal) {
            return false;
        }
        return true;
    }





}
    
asked by anonymous 16.05.2018 / 14:04

0 answers