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...