package org.magmax.masterjava.tema2.productos; import java.util.HashMap; import java.util.Scanner; /** * Hello world! * */ public class Productos { private static final int INSERT = 1; private static final int UPDATE = 2; private static final int AVERAGE = 3; private static final int DELETE = 4; private static final int EXIT = 5; public static void main(String[] args) { Productos productos = new Productos(); productos.run(); } private Scanner scan; private HashMap<String, Producto> products; private void run() { int action = 0; while (action != EXIT) { showMenu(); action = getAction(); switch (action) { case INSERT: processInsertion(); break; case UPDATE: processUpdate(); break; case AVERAGE: processAverage(); break; case DELETE: processDeletion(); break; case EXIT: break; default: System.out.println("Opción desconocida"); } } System.out.println("Bye!"); } private void processDeletion() { flushBuffer(); System.out.print("Código:"); String code = scan.nextLine(); if (!products.containsKey(code)) { System.out.println("El código no existe."); return; } products.remove(code); } private void processAverage() { float sum = 0; float total = 0; if (!products.isEmpty()) { for (Producto item : products.values()) { sum += item.getPrecio(); } total = sum / products.size(); } System.out.println("Media: " + total); } private void processUpdate() { Producto producto; flushBuffer(); System.out.print("Código:"); String codigo = scan.nextLine() ; if (!products.containsKey(codigo)) { System.out.println("El código no existe."); return; } producto = products.get(codigo); System.out.print("Precio:"); producto.setPrecio(scan.nextFloat()); } private void processInsertion() { flushBuffer(); Producto producto = new Producto(); System.out.print("Código:"); producto.setCodigo(scan.nextLine()); if (products.containsKey(producto.getCodigo())) { System.out.println("El código ya existe."); return; } System.out.print("Precio:"); producto.setPrecio( scan.nextFloat() ); products.put(producto.getCodigo(), producto); } private void flushBuffer() { if (scan.hasNextLine()) scan.nextLine(); } public Productos() { super(); scan = new Scanner(System.in); products = new HashMap<String, Producto>(); } private int getAction() { return scan.nextInt(); } private void showMenu() { System.out.println("1-Introducir producto"); System.out.println("2-Modificar precio"); System.out.println("3-Mostrar precio medio"); System.out.println("4-Eliminar producto"); System.out.println("5-Salir"); System.out.println(); } }