Duvidas sobre ArrayList[RESOLVIDO]

2 respostas
K

Olá pessoal…
estou precisando de uma ajuda …
estou construindo um sistema escolar, não terminei ainda e estou com um problema …

qndo execuro o “puc toString” ele me traz a lista de cursos e lista de disciplina,mas no curso de “Administração” consta a disciplina "Sistemas Operacionais "
coisa sem lógica ne…como eu faço para imprimir apenas ad disciplinas que eu quero para cada curso ?

tentei assim mas da erro

c3.setListaDisciplina(listaDisciplina.get(2));

na classe curso esta o metodo ArrayList das disciplinas assim…
desde ja agradeço…

public ArrayList<Disciplina>  getListaDisciplina() {
			return listaDisciplina ;
		}
		public void setListaDisciplina(ArrayList<Disciplina> listaDisciplina) {
			this.listaDisciplina  = listaDisciplina;
		}
import java.util.ArrayList;

public class Main {
	public static void main (String []args){
		ArrayList <Cursos> cursos = new ArrayList <Cursos> ();
		ArrayList <Disciplina> listaDisciplina = new ArrayList <Disciplina>();
		
		Cursos c1 = new Cursos();
		
		c1.setNomeCurso("Tecnologia da Informação");
		c1.setDataCriacaoCurso("12/01/2000");
		c1.setListaDisciplina(listaDisciplina);
		cursos.add(c1);
		
		Cursos c2 = new Cursos();
		
		c2.setNomeCurso("Adimnistração");
		c2.setDataCriacaoCurso("12/01/1995");
		c2.setListaDisciplina(listaDisciplina);
		cursos.add(c2);
		
		Cursos c3 = new Cursos();
		
		c3.setNomeCurso("Pedagogia");
		c3.setDataCriacaoCurso("12/01/1990");
		c3.setListaDisciplina(listaDisciplina);
		cursos.add(c3);
	
				
		Disciplina c = new Disciplina ();
		c.setNome("Logica Matematica");
		c.setEmenta("Informações sobre a disciplina");
		c.setCargaHoraria("80 Horas");
        listaDisciplina.add(c);	
        
        Disciplina b = new Disciplina ();
       
        b.setNome("Sistemas Operacionais");
		b.setEmenta("Informações");
		b.setCargaHoraria("90 Horas");
        listaDisciplina.add(b);
        
        Disciplina d = new Disciplina ();
		d.setNome("Etica");
		d.setEmenta("Informações");
		d.setCargaHoraria("80 Horas");
        listaDisciplina.add(d);	
        
        Disciplina e = new Disciplina ();
       
        e.setNome("Engenharia de Software");
		e.setEmenta("Informações");
		e.setCargaHoraria("90 Horas");
        listaDisciplina.add(e);
      
        
        Disciplina f = new Disciplina ();
        
        f.setNome("Literarura");
		f.setEmenta("Informações");
		f.setCargaHoraria("102 Horas");
        listaDisciplina.add(f);
      

        
		
		Univercidade puc = new Univercidade();
		puc.setListaCurso(cursos);		
		
		System.out.println(puc.toString());
	}

2 Respostas

nel

É impressão minha ou todos os cursos terão exatamente a mesma lista de disciplinas ? :slight_smile:
Só um detalhe, qualquer alteração que a listaDisciplinas sofra, mesmo após ter sido setada em outro objeto, como Curso, por exemplo, será refletida nesse objeto.
Isso porque está inserada no mesmo contexto e pega por referência.

Fora isso, basta setar a lista de disciplinas e pronto, não entendi sua dificuldade.
E outra, se der um get(index) ela vai lhe retornar o seu contéudo e não outra lista (a não ser que seja esse o contéudo, obviamente).

K

Valeu pela dica, agora deu certo …

e a dificuldade que estou tendo,é pq estou começando agora …não entendo muito de java e suas classes…

Criado 3 de novembro de 2011
Ultima resposta 3 de nov. de 2011
Respostas 2
Participantes 2