Classe conta:
public class Conta {
private double saldo;
private int agencia;
private static int idConta = 1000;
private static int totalContas = 0;
private Cliente titular;
private int numero;
public Conta(String nome,String cpf, String endereco){
numero = idConta;
saldo = 0;
agencia = 0001;
idConta ++;
totalContas ++;
Cliente titular = new Cliente(nome, cpf, endereco);
}
public void deposito (double valor){
if (valor > 0) {
this.saldo += valor;
System.out.println("Deposito de: " + valor + "\nNa conta: " + this.numero + "\nRealizado com sucesso.");
} else
System.out.println("Não é possivel depositar valor negativo. Tente novamente");
}
public boolean saca (double valor){
if (this.saldo >= valor && valor > 0){
this.saldo -= valor;
System.out.println("Saque de: " + valor + " realizado com sucesso.");
return true;
}
if (valor == 0){
System.out.println("Não é possivel sacar R$ 0,00. Tente novamente.");
return false;
}
else {
System.out.println("Saldo insuficiente.");
return false;
}
}
public boolean tranfere (double valor, Conta destino){
if (this.saca (valor) == true) {
destino.deposito(valor);
return true;
}else
return false;
}
public void getAgencia (){
System.out.println("Agencia: " + this.agencia);
}
public void getConta(){
System.out.println("Conta: " + this.numero);
}
public void getSaldo (){
System.out.println("Saldo: " + this.saldo);
}
public void getExtrato(){
getAgencia();
getConta();
titular.getNome();
getSaldo();
}
}
Classe cliente:
public class Cliente {
private String nome;
private String cpf;
private String endereco;
private static int id_cliente;
public Cliente(String nome,String cpf, String endereco){
id_cliente ++;
setNome(nome);
setCpf(cpf);
setEndereco(endereco);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
}
Ao executar a main e criar uma nova conta aparece o seguinte erro:
Agencia: 1
Conta: 1000
Exception in thread "main" java.lang.NullPointerException
at Conta.getExtrato(Conta.java:61)
at CriaConta.main(CriaConta.java:6)
Process finished with exit code 1
Código da main:
public class CriaConta {
public static void main(String[] args) {
Conta conta_1 = new Conta("Fulano","04798475920","Coves");
Conta conta_2 = new Conta("Ciclano", "123456789", "Flores");
conta_1.getExtrato();
conta_2.getExtrato();
System.out.println("\nDeposito:");
conta_1.deposito(150);
conta_2.deposito(500);
System.out.println("\nExtrato: ");
conta_1.getExtrato();
conta_2.getExtrato();
}
}
`