Duvida implementar método intersecta()

1 resposta
Shponja

Pessoal estou a fazer um trabalho de uma agenda, já fiz tudo o que conseguia e percebia e fui tirando algumas dúvidas por aqui, no entanto restam duas dúvidas que não consigo esclarecer e esperava que alguém me pudesse ajudar.
as dúvidas são: Para que serve o método getDia() da classe AgendaDia que aparece no diagrama UML (não vejo uso para ele)
e como implementar o método intersecta() das classes Evento, Aniversário e Reuniao.
E já agora será que os métodos mostrar estão correctos? É que não dei uso para ele na classe Evento.

package trabalho1;

public abstract class Agenda extends Evento{
	
	private Evento[] eventos;
	public int maxEventos;
	
	public Agenda(int maxEventos){	
		this.maxEventos=maxEventos;
		eventos= new Evento[maxEventos];
		
	}
	public boolean completa(){
		if(maxEventos!=0){
			return false;
		}
		else
			return true;
		
	}
	
	public boolean add(Evento ent){
		
		if(ent.intersecta(ent)){
			return false;
		}		
		if(completa()){
			return false;
		}
		else
			eventos[maxEventos-1]= ent;
			maxEventos--;
			return true;
	}
	public void mostrar(){
		maxEventos=eventos.length;
		while(maxEventos>=0){			
			eventos[maxEventos-1].mostrar();
			maxEventos--;
		}					
	}
}
package trabalho1;

public class AgendaDia extends Agenda{
	
	private int dia;
	
	public AgendaDia(int maxEventos, int dia){
		super(maxEventos);
		this.dia=dia;	
	}	
	
	public int getDia(){
		return dia;
	}
	public void mostrar(){
		System.out.println("Agenda do dia "+dia);
		super.mostrar();
		
	}

}
package trabalho1;

public abstract class Evento {
	
	protected Evento(){		
	}
	public void mostrar(){	
	}
	public boolean intersecta(Evento e){		
	}

}
package trabalho1;

public class Aniversario extends Evento{
	
	private String nome;
	
	public Aniversario(String nome){	
		this.nome=nome;
	}
	public void mostrar(){
		System.out.println("Aniversário de "+nome);
	}
	public boolean intersecta(Evento e){
		
					return false;
		
	}

}
package trabalho1;

public class Reuniao extends Evento{

	private String local;
	private int inicio, fim;
	
	public Reuniao (String local, int inicio, int fim){
				this.local=local;
				this.inicio=inicio;
				this.fim=fim;
	}
	public void mostrar(){
		System.out.println("Reunião - "+local+", das "+inicio+" às "+fim+" horas");
		
	}
	public boolean intersecta(Evento e){					
		
	}
	
	
}
package trabalho1;

public class Teste {
	public static void main (String args[]){
		
		Reuniao r1 = new Reuniao("Lisboa", 12, 14);
		Reuniao r2 = new Reuniao("ISEL", 15, 18);
		Reuniao r3 = new Reuniao("ISEL", 14, 18);
		Aniversario a1 = new Aniversario("João");
		Aniversario a2 = new Aniversario("Maria");
		AgendaDia d = new AgendaDia(4,12);
		d.add(r1); 
		d.add(r2); 
		d.add(r3);
		d.add(a1); 
		d.add(a2);
		d.mostrar();	
		
	}

}

1 Resposta

Shponja

o objectivo da classe intersecta() é comparar os eventos e caso se sobreponham retorna true e não é adicionado.

Criado 20 de abril de 2009
Ultima resposta 20 de abr. de 2009
Respostas 1
Participantes 1