Array list does not store data

Asked

Viewed 84 times

0

//------------------------------------------ Classe diario (metodo localizar aluno)--------------------------------

package gerenciamento;

import java.util.ArrayList;

public final class Diario {
    String nomeDisciplina;
    int cargaHoraria;

//----------------------------------------------Adicionar aluno-------------------------------------------

    ArrayList<Aluno> alunos = new ArrayList<>();

    public int adicionarAluno(int matricula, String nome, float nota1, float nota2, float nota3, int faltas) {
        localizarAluno(matricula);
        if (localizarAluno(matricula) == null) {
            Aluno instancia = new Aluno(matricula, nome, nota1, nota2, nota3, faltas);
            alunos.add(instancia);
            return 1;
        } else return 0;
    }

    //----------------------------------------------Remover aluno-------------------------------------------    
    public int removerAluno(int m) {
        localizarAluno(m);
        if (localizarAluno(m) == null) {
            return 0;
        } else {
            for (int i = 0; i < alunos.size(); i++) {
                if (alunos.get(i).getMatricula() == m) {
                    alunos.remove(i);
                }
            }
            return 1;
        }
    }

//----------------------------------------------Localizar aluno-------------------------------------------    

    public Aluno localizarAluno(int matricula) {
        Aluno aluno = null;
        for (int i = 0; i < alunos.size(); i++) {
            Aluno a = alunos.get(i);
            if (a.getMatricula() == matricula) {
                aluno = alunos.get(i);
                break;
            }
        }
        return aluno;
    }

//----------------------------------------------Construtor-------------------------------------------

    Diario(String nomeDisciplina, int cargaHoraria) {
        setNomeDisciplina(nomeDisciplina);
        if (cargaHoraria != 40 || cargaHoraria != 60 || cargaHoraria != 80 || cargaHoraria != 120) {
            setCargaHoraria(40);
        } else {
            setCargaHoraria(cargaHoraria);
        }
    }

    //----------------------------Getters e Setters------------------------------
    public String getNomeDisciplina() {
        return nomeDisciplina;
    }

    public void setNomeDisciplina(String nomeDisciplina) {
        this.nomeDisciplina = nomeDisciplina;
    }

    public int getCargaHoraria() {
        return cargaHoraria;
    }

    public void setCargaHoraria(int cargaHoraria) {
        this.cargaHoraria = cargaHoraria;
    }
}


//-------------------------Main-----------------

package gerenciamento;

        import java.util.Scanner;

public class Gerenciamento {

    public static void main(String[] args) {
        int op;
        Diario diario = null;

        Scanner Teclado = new Scanner(System.in);

        //-----------------------------------------------------------Menu-----------------------------------------------
        do {
            System.out.println("Escolha uma opção: ");
            System.out.println("1-Criar Diaro");
            System.out.println("2-Adicionar aluno ao diario");
            System.out.println("3-Remover aluno do diaro");
            System.out.println("4-Consultar aluno");
            System.out.println("5-Imprimir diario");
            System.out.println("6-Sair do programa");
            op = Teclado.nextInt();

            switch (op) {
                case 1:
                    System.out.print("Informe o nome da disciplina: ");
                    Teclado.nextLine();
                    String n = Teclado.nextLine();
                    System.out.println("Informe a carga horaria da disciplina(40, 60, 80 ou 120): ");
                    int c = Teclado.nextInt();
                    diario = new Diario(n, c);
                    System.out.println("Criação realizada com sucesso!");
                    break;

                case 2:
                    if (diario == null) {
                        System.out.println("Nenhum diario localizado! Tente novamente.");
                    } else {
                        System.out.println("Informe o numero da matricula: ");
                        int matricula = Teclado.nextInt();
                        System.out.println("Informe o nome do aluno: ");
                        Teclado.nextLine();
                        String nome = Teclado.nextLine();
                        System.out.println("Informe nota 1 do aluno: ");
                        float nota1 = Teclado.nextFloat();
                        System.out.println("Informe nota 2 do aluno: ");
                        float nota2 = Teclado.nextFloat();
                        System.out.println("Informe nota 3 do aluno: ");
                        float nota3 = Teclado.nextFloat();
                        System.out.println("Informe o numero de faltas: ");
                        int faltas = Teclado.nextInt();
                        diario.adicionarAluno(matricula, nome, nota1, nota2, nota3, faltas);
                    }
                    break;
                case 3:
                    if (diario == null) {
                        System.out.println("Nenhum diario localizado! Tente novamente.");
                    } else {

                        System.out.println("Digite o numero da matricula do aluno a ser removido: ");
                        int m = Teclado.nextInt();
                        diario.localizarAluno(m);
                        diario.removerAluno(m);
                        if (diario.removerAluno(m) == 0) {
                            System.out.println("Este aluno não existe no diario.");
                        } else System.out.println("Aluno removido com sucesso");
                    }
                    break;

                case 4:

                    if (diario == null) {
                        System.out.println("Nenhum diario localizado! Tente novamente.");
                    } else {
                        System.out.println("Informe a matricula a ser buscada: ");
                        int m = Teclado.nextInt();
                        diario.localizarAluno(m);
                        System.out.println("Aluno " + diario.localizarAluno(m));
                    }

                    break;
                case 5:
                    if (diario == null) {
                        System.out.println("Nenhum diario localizado! Tente novamente.");
                    } else {


                        System.out.println("Disciplina: " + diario.getNomeDisciplina());
                        System.out.println("Cargahoraria: " + diario.getCargaHoraria());
                        System.out.println("Alunos: ");
                        for (int i = 0; i < diario.alunos.size(); i++) {
                            System.out.println(diario.alunos.get(i).getNome());
                        }
                    }
                    break;
            }
        } while (op != 6);

    }
}
  • Enter the code for the method localizarAluno(). But remember that the more code you put in (at least everyone who relates to the problem), the better chance you have of finding the flaw. We often insist that the error is in one place, but we find that it is in another.

  • It would be good if you edit the question and put the whole Diario class and also the class where the method localizarAluno() meet to see how it works. Only then can we have an idea of the problem and in this way help you.

  • Ready guys ta ai, I tried to fix the errors here, even ran, but the case 2 always error, the case to add object to the array

1 answer

0

Diario diario = null;

for

ArrayList<Diario> arrayListDiario = new List<Diario>();

if(arraytListDiario.size() == '0')
else
insertUser();

Browser other questions tagged

You are not signed in. Login or sign up in order to post.