Dúvida sobre inserção de arrays em cadastro de vários alunos e professor

Galera segue meu código… estou precisando fazer um cadastro para alunos e professores e outras várias condições, mas não estou conseguindo colocar um array. Travei e não sei onde inserir o array

[code]import javax.swing.JOptionPane;
public class Sistema2 {

Aluno objAluno = new Aluno();               // objeto Aluno  
Professor objProfessor = new Professor();   // objeto Professor  

public void cadastrarAluno() {  

    objAluno.setNome(JOptionPane.showInputDialog("Insira o nome do aluno: ")); 
    objAluno.setCpf(JOptionPane.showInputDialog("Insira o cpf do aluno: "));
    Object aluno;
	objAluno.add(aluno);  
    objAluno.setDataNasc(JOptionPane.showInputDialog("Insira a data de nascimento do aluno: "));
    objAluno.setNacionaliade(JOptionPane.showInputDialog("Insira a nacionalidade do aluno: "));
    objAluno.setNaturalidade(JOptionPane.showInputDialog("Insira a naturalidade do aluno: "));
    objAluno.setNomeMae(JOptionPane.showInputDialog("Insira o nome da mãe do aluno: "));
    objAluno.setNomePai(JOptionPane.showInputDialog("Insira o nome do pai do aluno: "));
    objAluno.setMatricula(JOptionPane.showInputDialog("Insira a matrícula do aluno: ")); 
    objAluno.setRua(JOptionPane.showInputDialog("Insira a rua do aluno: "));
    objAluno.setNum(JOptionPane.showInputDialog("Insira o número da residência do aluno: "));
    objAluno.setComp(JOptionPane.showInputDialog("Insira o complemento do endereço, caso seja necessário. "));
    objAluno.setCep(JOptionPane.showInputDialog("Insira o CEP do aluno: "));
    objAluno.setBairro(JOptionPane.showInputDialog("Insira o bairro do aluno: "));
    objAluno.setCidade(JOptionPane.showInputDialog("Insira a ciade do aluno: "));
    objAluno.setEstado(JOptionPane.showInputDialog("Insira a UF do estado do aluno: "));
    objAluno.setCatEn(JOptionPane.showInputDialog("Insira a categoria do endereço do aluno. (Apartamento/Casa Própria/Casa Alugada/Quarto em república.) "));
  } // cadastrarAluno  
public void cadastrarProfessor() {  
	  
    objProfessor.setNome(JOptionPane.showInputDialog("Insira o nome do professor: ")); 
    objProfessor.setCpf(JOptionPane.showInputDialog("Insira o cpf do professor: "));
    objProfessor.setDataNasc(JOptionPane.showInputDialog("Insira a data de nascimento do professor: "));
    objProfessor.setNacionaliade(JOptionPane.showInputDialog("Insira a nacionalidade do professor: "));
    objProfessor.setNaturalidade(JOptionPane.showInputDialog("Insira a naturalidade do professor: "));
    objProfessor.setNomeMae(JOptionPane.showInputDialog("Insira o nome da mãe do professor: "));
    objProfessor.setNomePai(JOptionPane.showInputDialog("Insira o nome do pai do professor: "));
    objProfessor.setMatricula(JOptionPane.showInputDialog("Insira a matrícula do professor: "));
    objProfessor.setRua(JOptionPane.showInputDialog("Insira a rua do professor: "));
    objProfessor.setNum(JOptionPane.showInputDialog("Insira o número da residência do professor: "));
    objProfessor.setComp(JOptionPane.showInputDialog("Insira o complemento do endereço, caso seja necessário. "));
    objProfessor.setCep(JOptionPane.showInputDialog("Insira o CEP do professor: "));
    objAluno.setBairro(JOptionPane.showInputDialog("Insira o bairro do aluno: "));
    objProfessor.setCidade(JOptionPane.showInputDialog("Insira a ciade do professor: "));
    objProfessor.setEstado(JOptionPane.showInputDialog("Insira a UF do estado do professor: "));
    objProfessor.setCatEn(JOptionPane.showInputDialog("Insira a categoria do endereço do professor. (Apartamento/Casa Própria/Casa Alugada/Quarto em república.) "));
  } 


public void pesquisarAluno() {  

    String matricula;           // matrícula do aluno a ser pesquisado  

    matricula = JOptionPane.showInputDialog("Insira a matrícula do aluno a ser pesquisado: ");  

    if (objAluno.getMatricula().equals(matricula)) {  

        JOptionPane.showMessageDialog(null, "Aluno consta no sistema!\nNome: " + objAluno.getNome()+"\nEndereço: "+ objAluno.getRua()+" Número: "+objAluno.getNum()+
        		", "+objAluno.getComp()+". Bairro: "+objAluno.getBairro()+". CEP:"+ objAluno.getCep()+"\n"+objAluno.getCidade()+" - "+objAluno.getEstado());  
    } // if  
    else {  
        JOptionPane.showMessageDialog(null, "Aluno não encontrado!", "Aviso", JOptionPane.ERROR_MESSAGE);  
    }  


} // pesquisarAluno  

public void pesquisarProfessor() {  
	  
    String matricula;           // matrícula do aluno a ser pesquisado  

    matricula = JOptionPane.showInputDialog("Insira a matrícula do professor a ser pesquisado: ");  

    if (objProfessor.getMatricula().equals(matricula)) {  

        JOptionPane.showMessageDialog(null, "Aluno consta no sistema!\nNome: " + objProfessor.getNome()+"\nEndereço: ");  
    } // if  
    else {  
        JOptionPane.showMessageDialog(null, "Aluno não encontrado!", "Aviso", JOptionPane.ERROR_MESSAGE);  
    }  


}
public static void main(String[] args) {  

    int OpcaoMenu;                                      // opção do menu  
    Sistema2 SA = new Sistema2();  

    do { // loop para menu de opções  

        OpcaoMenu = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite uma Opção: \n\n"  
                + "Opção 1: Cadastrar Aluno \n"  
                + "Opção 2: Cadastrar Professor \n"  
                + "Opção 3: Pesquisar Aluno para emissão do boleto \n"              
                + "Opção 4: SAIR \n\n", "Menu de Opções", JOptionPane.PLAIN_MESSAGE));  


        switch (OpcaoMenu) { // switch avalia opção do operador  

            case 1: // cadastrar aluno  
            	SA.cadastrarAluno();  
            	break;  
            case 2: // cadastrar professor  
            	SA.cadastrarProfessor();
            	break;  
            case 3: // pesquisar aluno   
            	SA.pesquisarAluno();
            	break;
            case 4:
            	break; 
            default: // opção inválida  
                JOptionPane.showMessageDialog(null, "Opção Inválida", "Aviso", JOptionPane.ERROR_MESSAGE);  
                break;  
        } // switch           
    } while (OpcaoMenu >= 5);  
} // main  

} // Sistema2

public class Aluno extends Pessoa {  
	
    private String matricula; // matrícula do aluno  
                     
  
    public String getMatricula() {  
        return matricula;  
    }  
  
    public void setMatricula(String matricula) {  
        this.matricula = matricula;  
    }  
  
     
 
} // classe Aluno 

public class Professor extends Pessoa {
String matricula;
public String getMatricula() {
return matricula;
}

public void setMatricula(String matricula) {
this.matricula = matricula;
}

} //classe prof
[/code]

[code]public class Pessoa {
String nome, // nome do aluno ou professor
cpf,
dataNasc,
nacionalidade,
naturalidade,
nomeMae,
nomePai,
rua,
num,
comp,
cep,
cidade,
estado,
catEn,
bairro;

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 getDataNasc() {
return (dataNasc);
}

public void setDataNasc(String dataNasc) {
this.dataNasc = dataNasc;
}

public String getNacionalidade() {
return (nacionalidade);
}

public void setNacionaliade(String nacionalidade) {
this.nacionalidade = nacionalidade;
}
public String getNaturalidade() {
return (naturalidade);
}

public void setNaturalidade(String naturalidade) {
this.naturalidade = naturalidade;
}
public String getNomeMae() {
return (nomeMae);
}

public void setNomeMae(String nomeMae) {
this.nomeMae = nomeMae;
}
public String getNomePai() {
return (nomePai);
}

public void setNomePai(String nomePai) {
this.nomePai = nomePai;
}
public String getRua() {
return (rua);
}

public void setRua(String rua) {
this.rua = rua;
}
public String getNum() {
return (num);
}

public void setNum(String num ) {
this.num = num ;
}
public String getComp() {
return (comp);
}

public void setComp(String comp ) {
this.comp = comp ;
}
public String getCep() {
return (cep);
}

public void setCep(String cep ) {
this.cep = cep ;
}
public String getCidade() {
return (cidade);
}

public void setCidade(String cidade ) {
this.cidade = cidade ;
}
public String getEstado() {
return (estado);
}

public void setEstado(String estado ) {
this.estado = estado ;
}
public String getCatEn() {
return (catEn);
}

public void setCatEn(String catEn ) {
this.catEn = catEn ;
}
public String getBairro() {
return (bairro);
}

public void setBairro(String bairro ) {
this.bairro = bairro ;
}

} // classe Pessoa
[/code]

Por favor, formate adequadamente o seu tópico. Além disso, dê um título descritivo. Quase 100% dos tópicos do fórum são de “Dúvidas”.