Professional Documents
Culture Documents
Lenguaje de programacin
En el siguiente ejercicio se pretende simular el proceso de cobro de un
supermercado; es decir, unos clientes van con un carro lleno de productos y
una cajera les cobra los productos, pasndolos uno a uno por el escaner de la
caja registradora. La cajera debe procesar la compra cliente a cliente, donde
primero le cobra al cliente 1, luego al cliente 2, y as sucesivamente.
Definiremos una clase Cajera y una clase Cliente el cual tendr un array
de enteros que representaran los productos que ha comprado y el tiempo que
la cajera tardar en pasar el producto por el escaner; es decir, que si tenemos
un array con [1,3,5] significar que el cliente ha comprado 3 productos y que la
cajera tardara en procesar el producto 1 1 segundo, el producto 2 3
segundos y el producto 3 en 5 segundos, con lo cual tardara en cobrar al
cliente toda su compra 9 segundos.
Parte 1
Clase Cliente
1. Cree una clase llamada Cliente, que tenga como atributos un String nombre
y un arreglo de enteros carroCompra.
2. Cree el constructor y los mtodos getter y setter de la clase Cliente
Clase Cajera
1. Cree una clase llamada Cajera, que tenga como atributo un String nombre
2. Cree el constructor y los mtodos getter y setrer de la clase Cajera.
3. Cree un mtodo llamado esperarXsegundos que reciba como parmetro un
int, este int representa los segundos de espera. Dentro del mtodo adicione
dormir el hilo la cantidad de segundos que le llegan por parmetros
multiplicado por 1000 (Thread.sleep(segundos * 1000);)
4. Cree un mtodo llamado procesarCompra que reciba como parmetros un
objeto Cliente y un objeto Long para pasarle el tiempo, puede ponerle de
nombre timeStamp. Dentro del mtodo adicione:
a. System.out.println("La cajera " + this.nombre + " COMIENZA A
PROCESAR LA COMPRA DEL CLIENTE " + cliente.getNombre() + " EN
EL TIEMPO: " + (System.currentTimeMillis() - timeStamp) / 1000 +
"seg");
b. Un for que recorra el carro de compras del cliente, dentro del for lo
primero que deben hacer es poner a esperar el tiempo que aparece
dentro del arreglo del carro de compras. Pista (ya creo un mtodo
llamado esperarXsegundos). Despus imprima por consola el
nmero del producto que est procesando y el tiempo en el que va
Pista(En las lnea anterior, la impresin, estn haciendo eso
mismo)
c. System.out.println("La cajera " + this.nombre + " HA TERMINADO DE
PROCESAR " + cliente.getNombre() + " EN EL TIEMPO: " +
(System.currentTimeMillis() - timeStamp) / 1000 + "seg");
Clase Supermercado
CLIENTE Cliente 1
1 EN EL TIEMPO:
CLIENTE Cliente 2
2 EN EL TIEMPO: