Galera, boa noite
Estou começando a aprender java e com o auxilio da apostila do CAELUM estou na etapa de “Modificadores de acesso e atributos de classe”.
Juntamente com a apostila estou fazendo alguns exercícios para aprimorar mais o que estou aprendendo.
Porém nessa etapa fiquei parado em um exercício, o qual aparentemente parece estar tudo ok, porém ao compilar - pelo eclipse LOMBOZ - o mesmo me retorna o seguinte erro:
"
4300.0
Exception in thread “main” java.lang.NullPointerException
at MainPackage.Conta.imprimeBanco(Conta.java:27)
at MainPackage.SacaEDeposita.main(SacaEDeposita.java:18)
"
O programa segue em sequencia, para os que puderem me ajudar:
[b]public class SacaEDeposita {
public static void main(String [] args){
//Criando conta
Conta minhaConta = new Conta();
Cliente client = new Cliente();
client.setNome("DUKE");
minhaConta.setSaldo(1000);
minhaConta.setLimite(3000);
//Saca 200 reais
minhaConta.Saca(200);
//Deposita 200 reais
minhaConta.Deposita(500);
System.out.println(minhaConta.getLimite()+minhaConta.getSaldo());
//Imprime nome e saldo do proprietário da conta
minhaConta.imprimeBanco();
}
}[/b]
[b]public class Conta{
private int numero;
Cliente cliente;
private double saldo;
private double limite;
public double getSaldo(){
return this.saldo;
}
public void setSaldo(double saldo){
this.saldo=saldo;
}
public double getLimite(){
return this.limite;
}
public void setLimite(double limite){
this.limite=limite;
}
public void imprimeBanco(){
System.out.println("Essa conta é do banco J e o saldo da conta do(a)" +
" senhor(a) "+cliente.getNome()+" é de: "+ getSaldo());
}
public boolean Saca(double valor){
if(this.saldo<valor){
return false;
}
else{
this.saldo=this.saldo-valor;
return true;
}
}
public int getNumero(){
return this.numero;
}
public void setNumero(int number){
this.numero=number;
}
public void Deposita(double quantia){
if(quantia<=0){
System.out.println("Não é possivel creditar o valor");
}
else{
this.saldo+=quantia;
}
}
public void transfere(Conta destino, double valor){
if(this.saldo< valor && (this.saldo+this.limite)< valor){
System.out.printf("%2ds","Saldo insuficiente",(this.saldo+this.limite));
}
if(this.saldo<valor && this.limite>=valor ){
System.out.println("Transferência consedida, porém o seu limite especial" +
" no banco passou a ser de de "+(this.limite-valor));
}
}
}[/b]
Já entendi que o problema está no método imprimeBanco(), porém, aparentemente está tudo correto.
Agradeço desde já a atenção.
Rafael.
