NULL_System.out.println("Nome, Saldo, Cpf Rodrigo: " + rodrigo.cliente.getEndereco());

[code]public class Conta
{
private int numeroDaConta;
public Cliente cliente = new Cliente(null, null, null);
private double saldoDaConta;
private double limiteDaConta;

public Conta(int numeroDaConta, Cliente cliente, double saldoDaConta, double limiteDaConta)
{
	this.setNumeroDaConta(numeroDaConta);
	this.setSaldoDaConta(saldoDaConta);
	this.setLimiteDaConta(limiteDaConta);
}

public int getNumeroDaConta()
{
	return this.numeroDaConta;
}

public void setNumeroDaConta(int numeroDaConta)
{
	this.numeroDaConta = numeroDaConta;
}

public double getSaldoDaConta()
{
	return this.saldoDaConta;
}

private void setSaldoDaConta(double saldoDaConta)
{
	this.saldoDaConta = saldoDaConta;
}

public double getLimiteDaConta()
{
	return this.limiteDaConta;
}

private void setLimiteDaConta(double limiteDaConta)
{
	this.limiteDaConta = limiteDaConta;
}
public boolean saqueConta(double valor)
{
	if(Validacao.validaSaque(saldoDaConta, valor))
	{
		this.saldoDaConta -= valor;
		return true;
	}
	else
	{
		return false;
	}
}
public void depositoConta(double valor)
{
	this.saldoDaConta += valor;
}

public boolean transferirDinheiroParaConta(double valor, Conta destino)
{
	if(saqueConta(valor))
	{
		destino.depositoConta(valor);
		return true;
	}
	else
	{
		return false;
	}
}

}
[/code]

[code]public class Cliente
{
public String nome;
public String endereco;
public String cpf;

public Cliente(String nome, String endereco, String cpf)
{
	this.setNome(nome);
	this.setEndereco(endereco);
	this.setCpf(cpf);
}

public String getNome()
{
	return this.nome;
}

public void setNome(String nome)
{
	this.nome = nome;
}

public String getEndereco()
{
	return this.endereco;
}

public void setEndereco(String endereco)
{
	this.endereco = endereco;
}

public String getCpf()
{
	return this.cpf;
}

public void setCpf(String cpf)
{
	this.cpf = cpf;
}

}
[/code]

public class Programa 
{
	public static void main(String[] args) 
	{
		Conta rodrigo = new Conta(1, new Cliente("Rodrigo", "Rua trinta, 710", "cpf30"), 1000.0, 2000.0);
		//Conta neiva = new Conta(1, new Cliente("Neiva", "Rua vinte e tres, 1965", "cpf41"), 1000.0, 2000.0);
				
		//rodrigo.cliente.getCpf();
		//rodrigo.transferirDinheiroParaConta(1001, neiva);
		

		
		System.out.println("Saldo Rodrigo: " + rodrigo.cliente.getEndereco());
		//System.out.println("Saldo Neiva  : " + neiva.getSaldoDaConta());
		
	}

}

Na classe Conta eu uso a clase Cliente para que toda conta tenha um cliente, não sei se está certo também, mas o grande problema que não consigo resolver é quando tento acessar na classe Programa (main)através de System.out.println("Saldo Rodrigo: " + rodrigo.cliente.getEndereco()); //getNome(), getCpf()… o resultado é null, por que? alguem poderia por gentileza ajudar? o que estou fazendo errado?

Muito obrigado!!!
Rodrigo

[quote] public Conta(int numeroDaConta, Cliente cliente, double saldoDaConta, double limiteDaConta) { this.setNumeroDaConta(numeroDaConta); this.setSaldoDaConta(saldoDaConta); this.setLimiteDaConta(limiteDaConta); }[/quote]

Você recebe um parâmetro do tipo Cliente nesse construtor, mas não faz nada com ele. Tente fazer isso.

public Conta(int numeroDaConta, Cliente cliente, double saldoDaConta, double limiteDaConta) { this.setNumeroDaConta(numeroDaConta); this.setSaldoDaConta(saldoDaConta); this.setLimiteDaConta(limiteDaConta); this.cliente = cliente; }

Exatamente como o camarada dai de cima posto…

Vc nao esta setando o cliente… dai logico… esta chegando null…

Mude o construtor de conta… vc setou tudo menos o cliente!

public Cliente cliente = new Cliente(null, null, null);

Se vai setar o cliente no contrutor da sua classe Conta, deixa o objeto cliente sem ser instanciado:

public Cliente cliente;

e evite fazer usar null para instanciar objetos, assim vc evita os NPE da vida, e não é uma prática muito boa usar null pelo código.

Agora que eu vi… que negocio é esse do cliente?!.. oo lookkko

public Cliente cliente = new Cliente(null, null, null);

Meu, faz isso nao…
Apenas declara ele…

private Cliente cliente;

Depois vc seta ele no construtor de conta…

public Conta(int numeroDaConta, Cliente cliente, double saldoDaConta, double limiteDaConta) { this.numeroDaConta = numeroDaConta; this.saldoDaConta = saldoDaConta; this.limiteDaConta = limiteDaConta; this.cliente = cliente; // Isso aki q tah faltando!!! }

Utilize variaveis private… é uma boa forma de trabalhar… pra isso existem os setters e getters…

Muito obrigado peasoal, aprendi mais uma, muito obrigado a todos pela ajuda de sempre.
Rodrigo

Outra…procura não colocar o acesso aos atributos da sua classe “public”, e sim “private”, oferecendo sim, um método get/set pra esse atributo.
CYA!