public void hayParesOfertaDemandaEmpleo()
{
p=0;
l=0;
i=0;
j=0;
for(i=0;i<(empleo.size()-1);i++)
{
if(empleo.get(i) instanceof OfertaEmpleo)
{
OfertaEmpleo tam=(OfertaEmpleo) empleo.get(i);
p=1;
if(tam.perfil instanceof PerfilEspecialista)
{
PerfilEspecialista fac=(PerfilEspecialista) tam.perfil;
sa=fac.compara();
}else if(tam.perfil instanceof PerfilTitulado){
PerfilTitulado fac=(PerfilTitulado) tam.perfil;
sa=fac.compara();
}
}else if(empleo.get(i) instanceof DemandaEmpleo)
{
DemandaEmpleo tam=(DemandaEmpleo) empleo.get(i);
p=2;
if(tam.perfil instanceof PerfilEspecialista)
{
PerfilEspecialista fac=(PerfilEspecialista) tam.perfil;
sa=fac.compara();
}else if(tam.perfil instanceof PerfilTitulado){
PerfilTitulado fac=(PerfilTitulado) tam.perfil;
sa=fac.compara();
}
}
for(j=1;j<empleo.size();j++)
{
if(empleo.get(j) instanceof OfertaEmpleo)
{
OfertaEmpleo tom=(OfertaEmpleo) empleo.get(j);
l=1;
if(tom.perfil instanceof PerfilEspecialista)
{
PerfilEspecialista foc=(PerfilEspecialista) tom.perfil;
so=foc.compara();
}else if(tom.perfil instanceof PerfilTitulado){
PerfilTitulado foc=(PerfilTitulado) tom.perfil;
so=foc.compara();
}
}else if(empleo.get(j) instanceof DemandaEmpleo)
{
DemandaEmpleo tom=(DemandaEmpleo) empleo.get(j);
l=2;
if(tom.perfil instanceof PerfilEspecialista)
{
PerfilEspecialista foc=(PerfilEspecialista) tom.perfil;
so=foc.compara();
}else if(tom.perfil instanceof PerfilTitulado){
PerfilTitulado foc=(PerfilTitulado) tom.perfil;
so=foc.compara();
}
}
if(p!=l&& so.equals(sa))
{
if(empleo.get(i) instanceof OfertaEmpleo)
{
OfertaEmpleo temp=(OfertaEmpleo)empleo.get(i);
paresEmpleo.add(temp);
}
if(empleo.get(i) instanceof DemandaEmpleo)
{
DemandaEmpleo temp=(DemandaEmpleo) empleo.get(i);
paresEmpleo.add(temp);
}
if(empleo.get(j) instanceof OfertaEmpleo)
{
OfertaEmpleo tomp=(OfertaEmpleo) empleo.get(j);
paresEmpleo.add(tomp);
}
if(empleo.get(j) instanceof DemandaEmpleo)
{
DemandaEmpleo tomp=(DemandaEmpleo) empleo.get(j);
paresEmpleo.add(tomp);
}
}
l=0;
}
p=0;
}
}
¿Puedes decir que es lo que te falla?¿Que error te dá?
Una cosa, si quieres recorrer todo el array en el for, ¿Porqué le restas uno al tamaño entero, si estás empezando desde la posición 0?
Le restarías 1, si empezarás desde la posición 1, ¿No?
Dios mio, #3 y:
Interfaces, no castees todo a 20285018501 clases que tienen el metodo ".compara()"; que devuelve un "sa" que no se sabe de donde viene ni lo que es, o un "so" que lo mismo.
Y luego hay un if else al final de 4 opciones cuyo codigo es el mismo.
Variables:
tom
temp
tomp
sa
so
foc
Adivina lo que significan sin mirar el código.
Lo que intentas hacer es, cruzar una lista consigo misma para encontrar pares de ¿ OfertaEmpleo - DemandaEmpleo ?
#6 Es que pensaba que me decías a mi algo por lo que le he preguntado sobre el recorrido del array. ¿Sobre eso estoy yo en lo cierto, no?
#7 Si, ya que le pone un i<size
Es o : i<size , o i<=size-1, que viene a ser lo mismo, pero no i<size-1 porque te dejas al ultimo.
#1 Recomendación :
OfertaEmpleo y DemandanteEmpleo deberían ser objetos distintos entre sí, y tenerlos en dos listas distintas, despues recorres ambos
foreach(ofertaEmpleo : ofertasEmpleo)
{
foreach(demandanteEmpleo : demantantesEmpleo)
{
if (ofertaEmpleo.esCompatible(demandanteEmpleo) {
pares.add(ofertaEmpleo, demandanteEmpleo);
}
}
}
gracias a todos por responder ya solucione el problema, en realidad el problema estaba en mi interfaz grafica, al recoger los datos de un jList...., disculpen las molestias
#9 No molestas a nadie, pero has de aprender a hacer preguntas reales y no poner tu código y ale, que no funciona.