Boa noite a todos,
Estou tentando popular uma arraylist na DAO, o construtor esta na view, arraylist na DAO, instanciei a DAO no Controller chamei o metodo get mas o set não sei como fazer, meu codigo esta assim:
public class ManterAlunoFacade {
ManterAlunoDAO mad = new ManterAlunoDAO();
public ArrayList manteraluno(){
mad.setAluno();
}
public ArrayList<Aluno> listasaluno (){
return mad.getAluno();
}
Na verdade estão os dados ficam na memória, n tem banco, já consegui resolver esse problema de comunicação, mas agora estou tentando exibir mas esta exibindo assim:, mas meu construtor esta assim: Professor pr = new Professor();
pr.setNome(“Murakamy”);
pr.setRg(“11111111”);
mpf.listasprofessor().add(pr);
Aluno al = new Aluno();
al.setNome("Allan");
al.setRg("00000000");
maf.listasaluno().add(al);
Aluno al2 = new Aluno();
al2.setNome("Allan2");
al2.setRg("000000002");
maf.listasaluno().add(al);
Projeto pj = new Projeto();
pj.setOrientado(al);
pj.setOrientador(pr);
pj.setTitulo("T1");
pj.setResumo("bla bla bli");
mpj.listasProjetos().add(pj);
Teria que mostrar orientado:allan e orientado allan2, mas só esta mostrando allan
@allanlima ok, entendi, mas vc quer q saia como?? pq no código q você colocou aqui só fio adicionado um aluno o outro ficou de fora…o erro está no loop que você está usando para exibir os dados.
Eu acho q o certo seria o construtor assim:
Aluno al = new Aluno();
Projeto pj = new Projeto();
al.setNome(“Allan”);
al.setRg(“00000000”);
pj.setOrientado(al);
pj.setTitulo(“T1”);
pj.setResumo(“bla bla bli”);
Aluno al = new Aluno();
Projeto pj = new Projeto();
al.setNome(“Allan”);
al.setRg(“00000000”);
pj.setOrientado(al);
pj.setTitulo(“T1”);
pj.setResumo(“bla bla bli”);
Escrevi algo para te auxiliar, mas pode não compilar juntado com o restante que você tem ai, eu supus que a classe projeto teria uma lista de professores e uma de alunos e escrevi todo o código baseado nessa premissa. Espero que te ajude.
public class Main{
public static void main(String[] args){
for(Projeto p : new MontaProjeto().getListaProjetos()){
System.out.println("Professor Responsável : ".concat(p.getOrientador()));
System.out.println("------------------------------------------------------------------\n");
System.out.println("Título do Projeto : ".concat(p.getTitulo()));
System.out.println("Lista de alunos participantes: ");
for(Aluno al : p.getOrientados()){
System.out.println(al.getNome());
}
}
}
}
public class MontaProjeto{
private List<Professor> professores;
private List<Aluno> alunos;
private List<Projeto> projetos;
public MontaProjeto(){
professores = new ArrayList();
alunos = new ArrayList();
projetos = new ArrayList();
}
public List<Projeto> getListaProjetos(){
//cria o professor
Professor professor = new Professor();
professor.setNome(“Murakamy”);
professor.setRg(“11111111”);
//adiciona na lista de professores
professores.add(professor);
//cria alunos
Aluno aluno1 = new Aluno();
aluno1.setNome("Allan");
aluno1.setRg("00000000");
Aluno aluno2 = new Aluno();
aluno2.setNome("Allan2");
aluno2.setRg("000000002");
//adiciona alunos na lista
alunos.add(aluno1);
alunos.add(aluno2);
//cria projeto
Projeto projeto = new Projeto();
projeto.setOrientado(alunos);
projeto.setOrientador(professores);
projeto.setTitulo("T1");
projeto.setResumo("bla bla bli");
//adiciona a lista de projetos
projetos.add(projeto);
//retorna resultado
return projetos;
as array lists estão separadas uma em cada classe DAO(dao_professor, dao_aluno, dao_projeto), só posso acessar a array assim: View > Controller > DAO. O código que estou usando para gravar na array: maf.listasaluno().add(aluno2);, agora como passo essa array como parâmetro pro setOrientador? Tentei: maf.listasaluno(), maf, listasaluno() mas sem sucesso