public class Almacen {
private static ArrayList<Producto> productos = new ArrayList<Producto>();
public static void main(String[] args) {
String opcion = "";
///Mensaje/menu a mostrar por JOptionPane
final String menuOpciones = "Elija una opción.\n1 - Crear Producto"
+ "\n2 - Consultar producto por referencia"
+ "\n3 - Modificar precio por referencia"
+ "\n4 - Eliminar producto por referencia"
+ "\n5 - Mostrar listado de productos"
+ "\n0 - SALIR";
do {
opcion = JOptionPane.showInputDialog(menuOpciones);
switch(opcion) {
case "0":
JOptionPane.showMessageDialog(null, "FIN DE PROGRAMA");
break;
case "1":
crearProducto();
break;
case "2":
consultarProducto();
break;
case "3":
modificarPrecio();
break;
case "4":
eliminarProducto();
break;
case "5":
listarProductos();
break;
default:
JOptionPane.showMessageDialog(null, "Opción incorrecta");
}
}while(!opcion.equals("0"));
}
//Metodo para crear un Producto
private static void crearProducto() {
String referencia = JOptionPane.showInputDialog("Referencia: ");
String nombre = JOptionPane.showInputDialog("Nombre: ");
int cantidad = Integer.parseInt(JOptionPane.showInputDialog("Cantidad: "));
float precio = Float.parseFloat(JOptionPane.showInputDialog("Precio: "));
productos.add(new Producto(referencia, nombre, cantidad, precio));
}
//Metodo para consultar un Producto
private static void consultarProducto() {
if (productos.isEmpty())
JOptionPane.showMessageDialog(null, "No hay productos creados para consultar");
else {
String referencia = JOptionPane.showInputDialog("Referencia: ");
Producto buscando = null;
for (Producto p: productos)
if (p.getReferencia().equals(referencia))
buscando = p;
if (buscando == null)
JOptionPane.showMessageDialog(null, "No existe producto con referencia: " +
referencia);
else
JOptionPane.showMessageDialog(null, buscando);
}
}
//Metodo para modificar un Producto
private static void modificarPrecio() {
if (productos.isEmpty())
JOptionPane.showMessageDialog(null, "No hay productos creados para modificar");
else {
String referencia = JOptionPane.showInputDialog("Referencia: ");
Producto buscando = null;
for (Producto p: productos)
if (p.getReferencia().equals(referencia))
buscando = p;
if (buscando == null)
JOptionPane.showMessageDialog(null, "No existe producto con referencia: " +
referencia);
else {
float precio = Float.parseFloat(JOptionPane.showInputDialog("Introduzca nuevo precio: "));
buscando.setPrecio(precio);
}
}
}
//Metodo para eliminar un Producto
private static void eliminarProducto() {
if (productos.isEmpty())
JOptionPane.showMessageDialog(null, "No hay productos creados para modificar");
else {
String referencia = JOptionPane.showInputDialog("Referencia: ");
Producto buscando = null;
for (Producto p: productos)
if (p.getReferencia().equals(referencia))
buscando = p;
if (buscando == null)
JOptionPane.showMessageDialog(null, "No existe producto con referencia: " +
referencia);
else {
productos.remove(buscando);
JOptionPane.showMessageDialog(null, "Producto eliminado");
}
}
}
//Metodo para listar todos los Productos
private static void listarProductos() {
JOptionPane.showMessageDialog(null, "A continuación se mostrarán los Productos");
for (Producto p: productos)
JOptionPane.showMessageDialog(null, p);
}
}