Conta contas[] = new Conta[100];
private int totalContas;
Conta conta = new Conta();
int senha = 0;
public int getTotalContas() {
return totalContas;
}
public boolean criarConta() {
totalContas++;
System.out.println("Número da conta: "+senha++);
for (int x=0 ; x<contas.length;x++) {
if (contas[x]==null) {
conta.setNumero(senha);
conta.getSaldo();
contas[x]=conta;
return true;
}
}
return false;
}
public float consultarSaldo(int num) {
for (int x=0; x<contas.length; x++) {
if(num==contas[x].getNumero()) {
return contas[x].getSaldo();
}
}
return -1;
}
public boolean sacar(int num, float saque) {
return contas[num].sacar(saque);
}
public boolean depositar(int num, float deposito) {
return contas[num].depositar(deposito);
}
Debugue o código e informe o erro que apresenta.
O seu código está todo errado aqui, e te informo é complicado sabermos o problema sem rodar seu código, rode seu código e poste os erros
Quando tento consultar o saldo e informo um número que não está cadastrado ele da esse erro, sendo que deveria retornar um -1.
Exception in thread “main” java.lang.NullPointerException
at Semana04.Banco.consultarSaldo(Banco.java:30)
at Semana04.Q14.main(Q14.java:27)
E o que tem na linha 30?
O if do método consultarSaldo
if(num==contas[x].getNumero())
{
return contas[x].getSaldo();
A única possibilidade, neste caso, é que contas[x] seja nulo, não é mesmo?
Como você está num for e percorrendo toda a extensão do vetor, precisaria incluir uma verificação antes:
if(null != contas[x] && num == contas[x].getNumero()) {
Aí sim, escaparia do erro.
Obrigado cara, ajudou muito.