Java - Ejercicios resueltos de Listas 03

   
Vista:

Ejercicios resueltos de Listas 03

Publicado por burlon (14 intervenciones) el 20/03/2015 11:43:59
Tienda
----------------------------------------------------------

Ejercicio 14: Realiza un programa en JAVA en el realices la gestión de una pequeña tienda de bebidas. Para ello
manejarás objetos que tendrán 3 atributos:
 Nombre de un producto de supermercado
 Pecio
 Stock.
Los productos de la tienda (objetos) estarán dentro de una lista y serán los que desee el usuario, al que le iremos preguntando si desea introducir otro.
 Nota 1: Modifica el constructor por defecto de tal forma que llame a 3 métodos: uno le pedirá al usuario el nombre de cada producto, otro método su precio y otro su stock.
 Nota 2: Realiza un método en el que le muestre al usuario un menú para que elija que producto comprar y luego le pregunte cuantas unidades desea de él. Luego se le preguntará si desea comprar otro producto o salir. Por último se le mostrará el importe total de la compra.
 Nota 3: Realiza otro método para actualizar el valor del stock de un producto cuando el usuario lo compre. En caso de que el usuario pida más unidades de las que quedan se le avisará por pantalla del error, se le comunicarán las unidades restantes y le preguntará si desea comprar otro producto.

public class Tienda {

String nombrePr;
int stock;
int precio;

public Tienda() {
solicitarNombrePro();
solicitarStockPro();
solicitarPrecioPro();
}

public static int solicitarProductos() {
int numeroPro;
Scanner teclado = new Scanner(System.in);

System.out.println("¿Cuantos productos desea dar de Alta?");

numeroPro = teclado.nextInt();
return numeroPro;
}
public void solicitarNombrePro(){
Scanner teclado = new Scanner(System.in);
System.out.println("------Producto--------");
System.out.println("Introduce el nombre del producto: ");
nombrePr = teclado.nextLine();
}

public void solicitarStockPro(){
Scanner teclado = new Scanner(System.in);

System.out.println("Introduce el stock de: " + devolverNombre() + " : ");
stock = teclado.nextInt();
}

public void solicitarPrecioPro(){
Scanner teclado = new Scanner(System.in);

System.out.println("Introduce el precio de: " + devolverNombre() + " : ");
precio = teclado.nextInt();
}

public String devolverNombre(){
return nombrePr;
}
public int devolverPrecio(){
return precio;
}
public int devolverStok(){
return stock;
}
public void modificarStock(int sto){
stock = stock -sto;
System.out.println("Venta realizada.");
}
public boolean quedaStock(int sto){

if (stock >= sto) {

return true;

} else {

System.err.println("Error. Quedan " + stock + " unidades");

return false;
}
}
public static void menuEntrada (ArrayList <Tienda> productos) {
int opcion;

Scanner teclado = new Scanner(System.in);
do {
System.out.println("+++ Supermecado \" Don Botellon \" +++++");
System.out.println("");
System.out.println("Pulse 1 para acceso al Menu de Altas de productos");
System.out.println("Pulse 2 para acceder al Menu de Ventas");
System.out.println("Pulse 3 para salir ");
opcion = teclado.nextInt();

switch (opcion) {
case 1: {
menuProductos(productos);
break;
}
case 2: {
menuVentas(productos);
break;
}
case 3: {
System.out.println("Gracias!!! por usar el programa");
break;
}
default: {
System.out.println("Error");
break;
}
}


} while (opcion != 3);



}

public static void menuProductos(ArrayList<Tienda> productos) {
String respuesta = "no";
Scanner teclado = new Scanner(System.in);
do {
System.out.println("- Menu de altas de Productos -");

productos.add(new Tienda());

System.out.println("¿Desea dar de alta Otro Producto?");
respuesta = teclado.nextLine();
} while (respuesta.equalsIgnoreCase("si"));

}

public static void menuVentas(ArrayList<Tienda> productos) {
Scanner teclado = new Scanner(System.in);
int opcion;
int unidades=0;
String respuesta;
double factura = 0;
do {
System.out.println("--Menu de venta de productos--");
System.out.println("");

for (int i = 0; i < productos.size(); i++) {
System.out.println("Puse " + i + " Para comprar " + productos.get(i).devolverNombre() + " cuyo precio es de " + productos.get(i).devolverPrecio() + " y el stock es de " + productos.get(i).devolverStok() + " unidades");
}

opcion = teclado.nextInt();

System.out.println("Ha elegido comprar " + productos.get(opcion).devolverNombre());

for (int i = opcion; i < productos.size(); i++) {

unidades = unidades(productos);

if (productos.get(i).quedaStock(unidades) == true) {
productos.get(i).modificarStock(unidades);
unidades = unidades * productos.get(i).devolverPrecio();
}
break;
}

factura = factura + unidades;

System.out.println("¿Desea comprar otro producto?(si/no)");
respuesta = teclado.next();

} while (respuesta.equalsIgnoreCase("si"));

System.out.println("El total de su compra es: " + factura + "€");

}

public static int unidades(ArrayList<Tienda> productos) {
Scanner teclado = new Scanner(System.in);
int unidades;

System.out.println("¿Cuantas unidades quieres?");
unidades = teclado.nextInt();

return unidades;
}



public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);

ArrayList<Tienda> productos = new ArrayList<>();

menuEntrada(productos);

}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Java
- Código fuente de Java
- Cursos de Java
- Temas de Java
- Chat de Java
información
Códigos de Java
- Bloc de notas
- Sueldos
- Crear un pdf con iText