Está en la página 1de 3

import java.util.

Scanner;
import java.util.HashMap;

class Reto2 {
private final Scanner scanner = new Scanner(System.in);

public String read() {


return this.scanner.nextLine();
}

public void run() {

BaseDatosProducto base = new BaseDatosProducto();

String operacion = read();


String[] datos = read().split(" ");
Producto producto = new Producto(Integer.parseInt(datos[0]),
datos[1],
Double.parseDouble(datos[2]),
Integer.parseInt(datos[3])
);

if (operacion.equals("AGREGAR")) {
if (base.verificarExistencia(producto.getCodigo())) {
System.out.println("ERROR");
} else {
base.agregar(producto);
base.generarInforme();
}
} else if (operacion.equals("ACTUALIZAR")) {
if (base.verificarExistencia(producto.getCodigo())) {
base.actualizar (producto);
base.generarInforme();
} else {
System.out.println("ERROR");
}
} else if (operacion.equals("BORRAR")) {
if (base.verificarExistencia(producto.getCodigo())) {
base.borrar(producto.getCodigo());
base.generarInforme();
} else {
System.out.println("ERROR");
}
}

}
}

class BaseDatosProducto {
HashMap<Integer, Producto> mapaproductos = new HashMap<Integer, Producto>
();

BaseDatosProducto() {
mapaproductos.put(1, new Producto (1, "Manzanas", 5000.0, 25));
mapaproductos.put(2, new Producto (2, "Limones", 2300.0, 15));
mapaproductos.put(3, new Producto (3, "Peras", 2700.0, 33));
mapaproductos.put(4, new Producto (4, "Arandanos", 9300.0, 5));
mapaproductos.put(5, new Producto (5, "Tomates", 2100.0, 42));
mapaproductos.put(6, new Producto (6, "Fresas", 4100.0, 3));
mapaproductos.put(7, new Producto (7, "Helado", 4500.0, 41));
mapaproductos.put(8, new Producto (8, "Galletas", 500.0, 8));
mapaproductos.put(9, new Producto (9, "Chocolates", 3500.0, 80));
mapaproductos.put(10, new Producto (10, "Jamon", 15000.0, 10));

public void agregar (Producto productoNuevo) {


mapaproductos.put(productoNuevo.getCodigo(), productoNuevo);
}

public void actualizar (Producto productoActualizar) {


mapaproductos.replace(productoActualizar.getCodigo(), productoActualizar);
}

public void borrar (Integer codigo) {


mapaproductos.remove(codigo);
}

public boolean verificarExistencia (Integer codigo) {


return mapaproductos.containsKey(codigo);
}

public void generarInforme() {


Double precioMayor = 0.0;
Double precioMenor = 999999.9;
String mombrePrecioMayor = "";
String mombrePrecioMayor = "";
double sumaPrecio = 0;
for (Producto producto : mapaproductos.values()) {
if (producto.getPrecio()> precioMayor) {
precioMayor = producto.getPrecio();
nombrePrecioMayor = producto.getNombre();
}

if (producto.getPrecio()< precioMenor) {
precioMenor = producto.getPrecio ();
nombrePrecioMenor = producto.getNombre();
}

sumaPrecio += producto.getPrecio() ;

}
Double promedio = sumatoriaPrecios / mapaproductos.size ();
System.out.println(nombrePrecioMayor + " " + nombrePrecioMenor + " " +
String.format("%.1f",promedio));

class Producto {

private Integer codigo;


private String nombre;
private Double precio;
private Integer inventario;

public Producto(Integer codigo, String nombre, Double precio, Integer


inventario) {
this.codigo = codigo;
this.nombre = nombre;
this.precio = precio;
this.inventario = inventario;
}

public Integer getCodigo() {


return codigo;
}

public void setCodigo(Integer codigo) {


this.codigo = codigo;
}

public String getNombre() {


return nombre;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public Double getPrecio() {


return precio;
}

public void setPrecio(Double precio) {


this.precio = precio;
}

public Integer getInventario() {


return inventario;
}

public void setInventario(Integer inventario) {


this.inventario = inventario;
}

También podría gustarte