Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/06/2012, 23:33
rboyka
 
Fecha de Ingreso: junio-2012
Mensajes: 6
Antigüedad: 11 años, 10 meses
Puntos: 0
Problema con arrays e iteradores

Que tal buenas noches! Soy nuevo en esto de la programación y tengo un problema con los arreglos e iterados como dice el titulo xD.

Estoy comparando dos arreglos de tipo<Object>, los cuales estan previamente calculados, es decir, que ya están llenos, y cuando el campo nombre se iguale, necesito agegarle una cadena de texto, pero me marca el error "java.util.NoSuchElementException".

El código es el siguiente:

Clase serviceline:

Código:
package ismnuevo;
import java.util.*;
/**
 *
 * @author victorrf
 */

public class Serviceline {
    private String sl= new String();
    private ArrayList<String> empleados= new ArrayList<String>();
    private ArrayList<String> clientes= new ArrayList<String>();
    private ArrayList<Integer> wo=new ArrayList<Integer>();
    private ArrayList<Float> horas_empleado= new ArrayList<Float>();
    private ArrayList<Float> horas_cliente= new ArrayList<Float>();
    private ArrayList<Float> horas_empclaim= new ArrayList<Float>();
    private ArrayList<Float> horas_cliclaim= new ArrayList<Float>();
    
    public Serviceline(){}
    
    public Serviceline(String a)
    {
        this.setsl(a);
    }
    
    public void setsl(String a)
    {
        this.sl=a;
    }
    
    public void setempISM(String a, Float b, int i)
    {
        this.empleados.add(a);
        this.horas_empleado.add(b); 
        this.wo.add(i);
        this.horas_empclaim.add(Float.parseFloat("0"));
    }
    public void setemp(String a, Float b)
    {
        this.empleados.add(a);
        this.horas_empleado.add(b);
        this.horas_empclaim.add(Float.parseFloat("0"));
    }
    
    public void setcli(String a, Float b)
    {
        this.clientes.add(a);
        this.horas_cliente.add(b);
        this.horas_cliclaim.add(Float.parseFloat("0"));
    }
    
    public String getsl()
    {
        return this.sl;
    }
    
    public ArrayList<String> getemp()
    {
        return this.empleados;
    }
    
    public ArrayList<String> getcli()
    {
        return this.clientes;
    }
    
    public ArrayList<Float> getHorasEmpleado(){
        return this.horas_empleado;
    }
    
    public ArrayList<Float> getHorasCliente(){
        return this.horas_cliente;
    }
    public ArrayList<Float> getHorasEmpleadoclaim(){
        return this.horas_empclaim;
    }
    
    public ArrayList<Float> getHorasClienteclaim(){
        return this.horas_cliclaim;
    }
    public ArrayList<Integer> getWo(){
        return this.wo;
    }
}
Clase Empleado:

Código:
package ismnuevo;

import java.util.ArrayList;

/**
 *
 * @author victorrf
 */
public class Empleado {
    
    String nombre;
    ArrayList<String> unbillable= new ArrayList<String>();
    ArrayList<Float> hor= new ArrayList<Float>();
    
    public Empleado(String a, String b, Float c){
        this.setNombre(a);
        this.setUnbillable(b);
        this.setHor(c);      
    }
    
   public void setNombre(String a){
       this.nombre=a;
   }
   
   public void setUnbillable(String a){
       this.unbillable.add(a);
   }
   
   public void setHor(Float a){
       this.hor.add(a);
   }
   
   public String getNombre(){
       return this.nombre;
   }
   
   public ArrayList<String> getUnbillable(){
       return this.unbillable;
   }
   public ArrayList<Float> getHor(){
       return this.hor;
   }
}
Main(No lo puse todo solo la parte que no sirve ):

Código:
public static ArrayList<Serviceline> servicelines= ISM.getServicelines();//ya esta calculado
public static ArrayList<Empleado> emp = new ArrayList<Empleado>();//ya fue calculado previamente

public static void main(String[] args) {

for(Serviceline i:servicelines){
                   Iterator it= i.getemp().iterator();
                   while(it.hasNext()){
                       for(Empleado y:emp){
                       if(it.next().toString().contains(y.getNombre())) {//ERROOR AQUI xD
                        String a =it.next().toString().concat("agregar");
                        i.getemp().set(i.getemp().indexOf(y.getNombre()),a);
                        break;
                        } 
                    }
                   }
        }
for(Serviceline i:servicelines)
     {
         System.out.println(i.getsl());
         System.out.println(i.getemp());
         System.out.println(i.getcli());
         System.out.println(i.getHorasEmpleado());
         System.out.println(i.getHorasCliente());
         System.out.println(i.getHorasEmpleadoclaim());
         System.out.println(i.getHorasClienteclaim());
         
         
     }   
}

Espero puedan ayudarme!! gracias!!!! No encuentro como corregir el error...