[Ajuda]/[Dúvida] Problemas com índice de Array. [RESOLVIDO]

Bom, desenvolvendo uma aplicação MIDlet em J2ME com a IDE Eclipse esbarrei em um problema.

O objetivo dessa minha aplicação é fazer o cadastro de Alunos e Cursos, através dos itens TextField’s, DateField’s e outros componentes de um formulário, armazenando toda a informação em variáveis.
Não existe nenhuma ligação com banco de dados ou algo assim, toda a informação é perdida quando o sistema é finalizado; e não faz mal, é esse mesmo o propósito.

Para cadastrar o nome, a data de nascimento, o curso e o módulo de cada aluno, eu criei Arrays e um loop com FOR para cadastrar em um índice do array cada vez que o usuário fizer um novo cadastro. A questão é que não posso limitar este array, então criei a seguinte lógica, que apresenta a exceção ArrayIndexOutOfBoundsException. Por favor, comentem os possíveis erros lógicos/sintáxicos ou qualquer coisa do tipo.

	}else if (d == form2){
			if (c == aluno){
				cadastroAluno();
			}else if (c == outroCadastro){
				outroCadastro();
			}else if (c == curso){
				cadastroCurso();
			}else if (c == cadastrar){
				for(int con = cn; con < xn; con++) {
					if (nomes[con] == null){
						nomes[con] = nomeAluno.getString();
						System.out.println(nomes[con] + xn);
						nomeAluno.setString("");
						xn = xn+1;
						cn += 1;
						System.out.println(xn + "" +  cn);
						break;
					}

				}
				for(int con = cc; con < xc; con++) {
					if (cursos[con] == null){
						cursos[con] = cursoAluno.getString();
						System.out.println(cursos[con]);
						cursoAluno.setString("");
						xc = xc+1;
						cc += 1;
						break;
					}
				}
				for(int con = cd ; con < xd; con++) {
					if (datas[con] == null){
						datas[con] = dataNasc.getDate().toString();
						System.out.println(datas[con]);
						dataNasc.setDate(null);
						xd = xd+1;
						cd += 1;
						break;
					}
				}
				for(int con = cm; con < xm; con++) {
					if (modulo[con] == null){
						modulo[con] = modAluno.getString();
						System.out.println(modulo[con]);
						modAluno.setString("");
						xm += 1;
						cm += 1;
						break;
					}
				}
			}

Declaração das variáveis:

int xn = 1,xc = 1,xd =1, xm=1, cn = 0, cc = 0, cd = 0, cm = 0;

String nomes[] = new String[xn];
String cursos []= new String [xc];
String datas[] = new String [xd];
String modulo[] = new String [xm];

Explicação:

Form2 é o formulário de cadastro de alunos;
cn é “contador nomes”, e serve para controlar o número de índices do array, que não pode ser limitado e aumenta cada vez que um novo nome é adicionado;
cd é um “contador de datas”;
cc é um “contador de curso”;
cm é um contador de módulos";
xn (xc, xd, xm) é “x nomes”, e serve apenas para completar a lógica implementada;
con é apenas um contador para o FOR;

A linha “System.out.prin…” foi adicionada só para facilitar na hora da programação e será removida no fim do programa.

Agradeço desde já.

Acho que você deveria utilizar o Vector.

vet.addElement();

vet.elementAt(int indice);

Gabriel, agradeço muito.
Prático, direto e preciso, é exatamente o que eu precisava.

Abraços.

Que nada, bom ter ajudado!!

Depois coloca [RESOLVIDO] no nome do tópico.

[]s