Quando consulto um saldo de uma senha não cadastrada da erro ao invez de retirnar -1

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.