El siguiente programa simula una serie de cajas de supermercado que atienden a una fila de clientes, dichas filas se generan de manera automática en el programa utilizando hilos.
Completa la clase Caja seleccionando la opción más adecuada para generar la salida esperada.
Te recomendamos transcribir el código para que veas la funcionalidad completa en tu computadora.
Clase Uapa13
import java.util.ArrayList;
import java.util.List;
public class Uapa13{
public static void main(String[] args) {
List<Cliente> fila= new ArrayList<Cliente>();
List<Cliente> fila2= new ArrayList<Cliente>();
List<Cliente> fila3= new ArrayList<Cliente>();
List<Cliente> fila4= new ArrayList<Cliente>();
Cliente cliente=null;
for (int i=0; i<2;i++) {
cliente= new Cliente();
fila.add(cliente);
cliente= new Cliente();
fila2.add(cliente);
cliente= new Cliente();
fila3.add(cliente);
cliente= new Cliente();
fila4.add(cliente);
}
new Thread(new Caja(fila,1),"caja rapida").start();
new Thread(new Caja(fila2,2),"caja 1").start();
new Thread(new Caja(fila3,2),"caja 2").start();
new Thread(new Caja(fila4,3),"caja lenta").start();
}
}
Clase Producto
public class Producto {
private String id;
private float precio;
private String descripcion;
public Producto() {
}
public Producto(String id, float precio, String descripcion) {
super();
this.id = id;
this.precio = precio;
this.descripcion = descripcion;
}
@Override
public String toString() {
return "Producto [id=" + id + ", precio=" + precio + ", descripcion=" + descripcion + "]";
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public float getPrecio() {
return precio;
}
public void setPrecio(float precio) {
this.precio = precio;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
}
Clase: Tienda
import java.util.ArrayList;
import java.util.List;
public class Tienda {
private List <Producto> productos=
new ArrayList<Producto>();
public Tienda() {
productos.add(
new Producto("2541",3.5f,"manzana roja"));
productos.add(
new Producto("1452",5.5f,"mandarina fresca"));
productos.add(
new Producto("1423",120.5f,"Carne de res (1 Kilo)"));
productos.add(
new Producto("851",11.5f,"Refresco sabor uva"));
productos.add(
new Producto("951",10.0f,"Yogurth 355ml"));
}
public List
getProductos() {
return productos;
}
public void setProductos(List<Producto> productos) {
this.productos = productos;
}
}
Clase: Cliente
import java.util.ArrayList;
import java.util.List;
public class Cliente {
private List<Producto> productos= new ArrayList<Producto>();
public Cliente() {
seleccionarProductos();
}
public List<Producto> getProductos() {
return productos;
}
public void setProductos(List<Producto> productos) {
this.productos = productos;
}
public void seleccionarProductos() {
Tienda tienda= new Tienda();
int numeroProductos= (int) (Math.random()*10);
for (int i=0; i<numeroProductos;i++) {
int indexProducto= (int) (Math.random()*(tienda.getProductos().size()-1));
productos.add(tienda.getProductos().get(indexProducto));
}
}