Objeto imprimindo null. [Resolvido]

5 respostas
F

E ae glra to com um probleminha na hora da impressão de um objeto.
O objeto esta imprimindo null.

Classe principal:

package br.com.stefanini.sistemabancario;

public class SistemaBancario {

	public static void main(String[] args) {
		
		Empresa empresa = new Empresa("BH Software", 12345678123412L);
		Endereco endEmpresa = new Endereco();
		endEmpresa.setLogradouro("Av. Belo Horizonte");
		endEmpresa.setNumero(971);
		endEmpresa.setComplemento("4º Andar");
		endEmpresa.setBairro("Funcionários");
		endEmpresa.setCidade("Belo Horizonte");
		endEmpresa.setEstado("MG");
		endEmpresa.setCep(32000123);
		
		System.out.println(empresa);
		
	}

}

Classe endereço:

package br.com.stefanini.sistemabancario;

public class Endereco {
	private String logradouro;
	private Integer numero;
	private String complemento;
	private String bairro;
	private String cidade;
	private String estado;
	private Integer cep;
	public String getLogradouro() {
		return logradouro;
	}
	public void setLogradouro(String logradouro) {
		this.logradouro = logradouro;
	}
	public Integer getNumero() {
		return numero;
	}
	public void setNumero(Integer numero) {
		this.numero = numero;
	}
	public String getComplemento() {
		return complemento;
	}
	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}
	public String getBairro() {
		return bairro;
	}
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}
	public String getCidade() {
		return cidade;
	}
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public Integer getCep() {
		return cep;
	}
	public void setCep(Integer cep) {
		this.cep = cep;
	}
	
	public String toString() {
		String s = "\n Rua/Av.: "+logradouro;
		s += "\n Nº: "+numero;
		s += "\n Complemento: "+complemento;
		s += "\n Bairro: "+bairro;
		s += "\n Cidade: "+cidade;
		s += "\n Estado: "+estado;
		s += "\n CEP: "+cep;
		return s;
	}
}

Classe empresa:

package br.com.stefanini.sistemabancario;

public class Empresa {
	
	private String nome;
	private Long cnpj;
	private Empresa endereco;
	
	public Empresa(String nome, Long cnpj) {
		this.nome = nome;
		this.cnpj = cnpj;
	}
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Long getCnpj() {
		return cnpj;
	}
	public void setCnpj(Long cnpj) {
		this.cnpj = cnpj;
	}
	public Empresa getEndereco() {
		return endereco;
	}
	public void setEndereco(Empresa endereco) {
		this.endereco = endereco;
	}
	
	public String toString() {
		String s = "\t Dados Instituição: \n";
		s += "\n Nome: "+nome;
		s += "\n CNPJ: "+cnpj;
		s += "\n Endereço: "+endereco;
		return s;
	}
}

O problema está no objeto da classe endereço. Enquanto isso estou varrendo a net a procura deste enigma. Desde já agradeço.

5 Respostas

A

cara,

vc tem que fazer isso

empresa.setEndereco(endereco);

t+

F

Este trecho seria no método main certo.

Mas quando faço isso o endereço da erro no toString() da classe Endereco.

F

Fiz de outra maneira.

Retirei a variável private endereço da classe Empresa e fiz separado.

Vlw ae.

A

cara,

faz assim

package br.com.stefanini.sistemabancario;  
      
    public class Empresa {  
          
        private String nome;  
        private Long cnpj;  
        private Endereco endereco;  //tava errado aqui
          
        public Empresa(String nome, Long cnpj) {  
            this.nome = nome;  
            this.cnpj = cnpj;  
        } 

        public Empresa(String nome, Long cnpj, Endereco endereco) {  
            this.nome = nome;  
            this.cnpj = cnpj;  
            this.endereco = endereco;
        }   
          
        public String getNome() {  
            return nome;  
        }  
        public void setNome(String nome) {  
            this.nome = nome;  
        }  
        public Long getCnpj() {  
            return cnpj;  
        }  
        public void setCnpj(Long cnpj) {  
            this.cnpj = cnpj;  
        }  
        public Endereco getEndereco() {  
            return endereco;  
        }  
        public void setEndereco(Endereco endereco) {  
            this.endereco = endereco;  
        }  
          
        public String toString() {  
            String s = "\t Dados Instituição: \n";  
            s += "\n Nome: "+nome;  
            s += "\n CNPJ: "+cnpj;  
            s += "\n Endereço: "+endereco;  
            return s;  
        }  
    }
package br.com.stefanini.sistemabancario;  
  
public class SistemaBancario {  
  
    public static void main(String[] args) {  
          
        
        Endereco endEmpresa = new Endereco();  
        endEmpresa.setLogradouro("Av. Belo Horizonte");  
        endEmpresa.setNumero(971);  
        endEmpresa.setComplemento("4º Andar");  
        endEmpresa.setBairro("Funcionários");  
        endEmpresa.setCidade("Belo Horizonte");  
        endEmpresa.setEstado("MG");  
        endEmpresa.setCep(32000123);  

         Empresa empresa = new Empresa("BH Software", 12345678123412L, endEmpresa);  
          
        System.out.println(empresa);  
          
    }  
  
}

t+

F

Cara nem agradeci (que falta de educação!) muito obrigado.

Assim fica como polimorfismo porque ai eu poderia ter duas possibilidades de envio das informações.

Vlw.

Criado 28 de outubro de 2011
Ultima resposta 29 de out. de 2011
Respostas 5
Participantes 2