Cola
-
Upload
shelly-ramos -
Category
Documents
-
view
214 -
download
1
Transcript of Cola
“Año de la Promoción de la Industria Responsable y del Compromiso Climático”
UNIVERSIDAD PRIVADA TELESUP
COLAALUMNA:
RAMOS LAZARO Shelly
TUTOR:
CARDENAS DIAZ Enrique
CARRERA:
INGENERIA DE SISTEMAS
HUANCAYO-2014
COLASe considera una cola frente a una ventanilla en la cual al llegar a la misma no puede ser atendido, se le reintegra a la cola a la posición Nº 10, si hay más de 10 personas o al final de la misma, en caso contrario. Diseñar un procedimiento de ATENCION (lo que debe suceder cuando un cliente es atendido). REINGRESO (vuelta a la cola) y otro de INGRESO (inicial) en la cola.
RESOLUCION
public class Cola {private java.util.ArrayList<String> cola = null;private java.util.Random alea = new java.util.Random();private boolean isDebug = true;
public Cola(){cola = new java.util.ArrayList<String>();this.runProccess();
}
private boolean isAccepted(){return ((int) alea.nextInt(2)) == 0;
}
private void muestraCola(){if(isDebug)
System.out.println("-------------------------------------------");System.out.print("[");String sep = "";for(String c : cola){
System.out.print(sep + c);sep = ", ";
}System.out.print("]\n");if(isDebug)
System.out.println("-------------------------------------------");}
private void runProccess(){int pos = 0;int final_size = cola.size();while(pos < final_size){
if(isDebug) System.out.println(String.format("Atendiendo posición %d[%s]",pos, cola.get(pos)));
if(this.isAccepted()){cola.remove(pos);if(isDebug) System.out.println("Aceptado,
se le atiende y se saca de la cola");} else {
if(isDebug) System.out.println("No se puede atender en estos momentos");
if(cola.size() > 10){for(int nJ = pos; nJ < final_size;
nJ++){if(cola.size() > (10+nJ)){
if(isDebug) System.out.println(String.format("Se mueve a %s de la posición %d a la posición %d en la que está %s", cola.get(pos),pos,(10+nJ),cola.get(10+nJ)));
java.util.Collections.swap(cola, pos, 10+nJ);}else{
cola.add(cola.get(pos));cola.remove(pos);break;
}if(isDebug)
System.out.println("La cola queda así:");if(isDebug) muestraCola();
}
} else {java.util.Collections.swap(cola,
pos, cola.size()-1);if(isDebug) System.out.println("Se
mueve al final");}
}final_size = cola.size();if(isDebug) System.out.println("La cola queda
así:");muestraCola();
}}
public void setAllItems(String[] items){this.cola = new
java.util.ArrayList<String>(java.util.Arrays.asList(items));}
public void addItem(String nuevo){this.cola.add(nuevo);
}
public java.util.ArrayList<String> getCola(){return this.cola;
}
public static void main(String[] args){Cola c = new Cola();c.setAllItems(new String[]
{"enero[1]","febrero[2]","marzo[3]","abril[4]","mayo[5]","junio[6]",
"julio[7]","agosto[8]","septiembre[9]","octubre[10]","noviembre[11]","diciembre[12]"});
System.out.println("La cola comienza así:");c.muestraCola();c.runProccess();System.out.println("La cola termina así:");c.muestraCola();
}