Pessoal, poderiam me ajudar com esse erro?

[code]import java.util.Scanner;

public class Menu {

public static void main(String[] args) {
	int contador = 0, opcao;
	int  i = 0;
	Scanner input= new Scanner(System.in);
	System.out.println("Deseja criar qtas contas:");
	contador = input.nextInt();
	Conta[] conta= new Conta[contador]; 
	
	for (i=0; i < contador; i++){
		System.out.println("1 - Conta Comum		2 - Conta Especial		0 - Sair");
		opcao = input.nextInt();
		
		switch(opcao){
			case 1:		
				Conta contaC = new Conta(null, 0, 0);
				contaC.criaConta();
				conta[i]= contaC;
				break;
				
			case 2:
				ContaEspecial contaE = new ContaEspecial(null, 0, 0, 0);
				contaE.criaConta();
				conta[i]= contaE;
				System.out.println("Digite o limite:"); 
				contaE.setLimite(0);
				break;
				
			default:
				break;
		}
	}
	if (conta[0] != null){
		conta[0].deposito(560);				
	}
	
	if (conta[1] != null){                //O erro é apresentado aqui!!! array Exception in thread "main" 
		conta[1].saque(390);      //java.lang.ArrayIndexOutOfBoundsException: 1
	}                                          //	at Menu.main(Menu.java:40)  
	
	for (i=0; i < contador; i++){
		System.out.printf("%s\n\n", conta[i].toString());
	}
		
}

}
[/code]

Não consigo referenciar esse saque para o último elemento do vetor
obrigado

ao invés de 1 no índice, eu coloquei o contador e não deu certo

E ai fernandomoncao.

Acho q o erro é o seguinte:

Note que o valor da variável contador é 0 --> " int contador = 0, opcao; ", logo o array conta é criado com uma única ocorrencia --> Conta[] conta= new Conta[contador];

Quando se referencia conta[1] estamos apontando para a 2 ocorrencia de um array de DUAS ocorrencias, que não é o seu caso porisso ocorre o erro.

Outro detalhe é que com o conteúdo da variável contador igual a zero o codigo sob o dominio do comando FOR não é processado --> for (i=0; i < contador; i++) porque o valor da variável i é IGUAL a da variável contador (ZERO) e não “MENOR QUE” como consta na expressão do comando.

[]'s

mas eu altero o valor da variavel contador qdo pergunto qual o nº de contas que o usuário deseja
não deveria mudar?

Sim, é verdade…

Deixei escapar alguns detalhes do seu código.

Olhando uma pouco melhor percebi umas coisinhas:

 for (i=0; i < contador; i++){ 

Está faltando o tipo na declaração da variável i do comando for.

int  i = 0; 

Como vc já declarou a variável i antes do comando for isso deveria dar erro de duplicidade de variáveis.

A IDE que vc está utilizando não lhe avisou destes erros?

Talvez vc esteja com o arquivo .java e o .class fora de sincronia.

Se ainda estiver com problemas post tambem as classes Conta e ContaEspecial pra gente fazer testes.

[]'s