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:
Clase Empleado: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; } }
Código:
Main(No lo puse todo solo la parte que no sirve ):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; } }
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...