[RESOLVIDO ]Dúvidas

Saudações pessoal, eu tenho uma dúvida sobre um projeto que eu estou estudando

public class Aluno {
private int codAluno;
private String nomeALuno;

public Aluno(int codAluno, String nomeALuno) {
    this.codAluno = codAluno;
    this.nomeALuno = nomeALuno;
}

public int getCodAluno() {
    return codAluno;
}

public void setCodAluno(int codAluno) {
    this.codAluno = codAluno;
}

public String getNomeALuno() {
    return nomeALuno;
}

public void setNomeALuno(String nomeALuno) {
    this.nomeALuno = nomeALuno;
}

public class Turma {
private Aluno alunos[];
private int maxAlunos;
private int qtAulas;
private String nomeCurso;
private int count;

public Turma(int qtAulas, String nomeCurso, int maxAlunos) {
    this.qtAulas = qtAulas;
    this.nomeCurso = nomeCurso;
    alunos = new Aluno[maxAlunos];
    count = 0;
}

public int getQtAulas() {
    return qtAulas;
}

public void setQtAulas(int qtAulas) {
    this.qtAulas = qtAulas;
}

public String getNomeCurso() {
    return nomeCurso;
}

public void setNomeCurso(String nomeCurso) {
    this.nomeCurso = nomeCurso;
}


public void cadastrarAluno(Aluno al)
{
    if(count > alunos.length)
    {
        throw new RuntimeException();
    }
    
    
}

Basicamente minha dificuldade é conseguir fazer a parte para cadastrar o aluno na turma, eu preciso checar se o codigo do aluno já existe e caso existir lançar uma exceção, sem usar os comandos do ArrayList, alguém pode me dar uma ajudinha ?

Olá. Você vai precisar percorrer sua lista de alunos e validar se o aluno já existe.

public void cadastrarAluno(Aluno al){

//Variável que vai armazenar o resultado do seu teste
boolean alunopresente=false;

//Loop pra percorrer todos os alunos cadastrados e //testar se o atual que você está tentando cadastrar já //existe.
for(int x=0;x<alunos.length;x++){
//A cada volta do loop testa se o aluno está na lista
if(alunos[x].getCodAluno()==al.getCodAluno()){
//Se achar um aluno igual na lista a variável //alunopresente recebe verdadeiro e para o loop com //um break
alunopresente=true;
break;
}

//Depois do loop pela lista testa se alunopresente vale //true. Se valer é porque achou um aluno na lista

if(!alunopresente){
//Cria seu aluno
}else{
//trata o erro quanto a sua regra de não permitir repetir alunos ou seja aqui você coloca sua exception

}

Obs: fiz no celular , não testei se compila mas é um caminho.

1 curtida

Muito obrigado @essevaiproale, deu certinho do jeito que você me passou, e esclareceu bastante minha dúvidas.