Java - Ayuda para sacar promedio y el inventario

 
Vista:
sin imagen de perfil

Ayuda para sacar promedio y el inventario

Publicado por angel (1 intervención) el 09/08/2021 00:03:41
Buen día necesito ayuda para sacar el promedio y el total del inventario del siguiente ejercicio;

La tienda de John vende diferentes productos, usualmente frutas, dulces y algunos tipos de carne. Con el propósito de mejorar el control sobre las ventas y el inventario de la tienda, John decide construir una aplicación que le permita almacenar la información de los productos y realizar algunos cálculos sobre los datos.

Luego de discutir por un tiempo sobre lo que debería hacer la aplicación, logran construir el siguiente diagrama de casos de uso.

Usted es contratado para desarrollar el sistema de inventario con las funcionalidades presentadas en el diagrama de casos de uso en el lenguaje de programación Java. Debido a que esta es una etapa inicial en el desarrollo de la aplicación, la base de datos será representada temporalmente mediante un HashMap llamado listaProductos que tendrá por llave el código del producto y por valor una instancia de la clase Producto que tendrá como atributos código, nombre, precio e inventario. La Tabla 1 presenta los productos disponibles a la fecha en el almacén.


Base de datos Tienda
código nombre precio inventario
1 Manzanas 8000.0 550
2 Limones 2300.0 15
3 Peras 2500.0 38
4 Arandanos 9300.0 55
5 Tomates 2100.0 42
6 Fresas 4100.0 33
7 Helado 4500.0 41
8 Galletas 500.0 833
9 Chocolates 3500.0 806
10 Jamon 17000.0 10


Su misión es implementar todas las funcionalidades presentadas en el diagrama de casos de uso. Para esto es necesario construir 3 métodos que representen las operaciones de agregar, actualizar y eliminar. Estas funciones deben implementar una clase con el nombre BaseDatosProductos que contenga el HashMap listaProductos.

Adicionalmente, John desea generar un informe que contenga: el nombre del producto con el precio mayor; el nombre del producto con el precio menor; el promedio de precios de todos los productos y el valor total del inventario a la fecha. Este último se obtiene multiplicando el precio de cada producto por el inventario disponible y luego sumando todos los resultados. Este método debe llamarse generarInforme implementarse en la clase BaseDatosProductos.

Lo unico que me falta es el promedio y el inventario de la base de datos de la tienda de arriba.

agradeceria si alguien me brinda la solucion gracias

ESTE ES EL CODIGO:

package ejercicios;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
*
* @author angel
*/
public class ejercicio2 {
private final Scanner scanner = new Scanner(System.in);

/*Esto se debe borrar*/
public static void main (String[] args)
{
Retos2 reto = new Retos2();
reto.run();
}
/**/

public String read(){
return this.scanner.nextLine();
}


public void run(){
String operacion = read();
String productosCadena = read();
String[] listaDatos = productosCadena.split(" ");

Producto producto = new Producto (Integer.parseInt(listaDatos[0]),listaDatos[1],Double.parseDouble(listaDatos[2]),Integer.parseInt(listaDatos[3]));

BaseDatosProductos baseProductos = new BaseDatosProductos();

if ((operacion.equals("AGREGAR")) && (!baseProductos.verificarExistencia(producto))){
baseProductos.agregar(producto);
baseProductos.generarInforme();

}else if ((operacion.equals("ACTUALIZAR")) && (baseProductos.verificarExistencia(producto))){
baseProductos.actualizar(producto);
baseProductos.generarInforme();

}else if ((operacion.equals("BORRAR")) && (baseProductos.verificarExistencia(producto))){
baseProductos.borrar(producto);
baseProductos.generarInforme();
}else {
System.out.print("ERROR");

}

}

}

class Producto{
public int codigo;
public String nombre;
public double precio;
public int inventario;

public Producto(int codigo, String nombre, double precio, int inventario) {
this.codigo = codigo;
this.nombre = nombre;
this.precio = precio;
this.inventario = inventario;
}

public int getCodigo() {
return codigo;
}

public void setCodigo(int 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 int getInventario() {
return inventario;
}

public void setInventario(int inventario) {
this.inventario = inventario;
}

}

class BaseDatosProductos{
public Map<Integer, Producto> listaProductos = new HashMap<>();

public BaseDatosProductos(){

listaProductos.put(1, new Producto(1, "Manzanas", 8000.0, 550)); //mapa.get(1) = ["Manzanas", 12345.0, 123]
listaProductos.put(2, new Producto(2, "Limones", 2300.0, 15));
listaProductos.put(3, new Producto(3, "Peras", 2500.0, 38));
listaProductos.put(4, new Producto(4, "Arandanos", 9300.0, 55));
listaProductos.put(5, new Producto(5, "Tomates", 2100.0, 42));
listaProductos.put(6, new Producto(6, "Fresas", 4100.0, 33));
listaProductos.put(7, new Producto(7, "Helados", 4500.0, 41));
listaProductos.put(8, new Producto(8, "Glletas", 500.0, 833));
listaProductos.put(9, new Producto(9, "Chocolates", 3500.0, 806));
listaProductos.put(10, new Producto(10, "Jamon", 17000.0, 10));

}

public Boolean verificarExistencia(Producto producto){
return listaProductos.containsKey(producto.getCodigo());
}

public void agregar(Producto producto){
listaProductos.put(producto.getCodigo(),producto);
}

public void actualizar(Producto producto){
listaProductos.replace(producto.getCodigo(), producto);
}

public void borrar(Producto producto){
listaProductos.remove(producto.getCodigo(), producto);
}

public void generarInforme(){
String nombreMayor = productoMayor();
String nombreMenor = productoMenor();
double promedioTotal = promedio();

System.out.print(nombreMayor+" "+nombreMenor+" "+promedioTotal);

}

public String productoMayor(){
String nombre = "";
double precioAuxiliar = listaProductos.values().iterator().next().getPrecio();
for (Producto productos : listaProductos.values()){

if (productos.getPrecio() > precioAuxiliar){
nombre = productos.getNombre();
precioAuxiliar = productos.getPrecio();

}
}
return nombre;

}

public String productoMenor(){
String nombre = "";
double precioAuxiliar = listaProductos.values().iterator().next().getPrecio();
for (Producto productos : listaProductos.values()){

if (productos.getPrecio() < precioAuxiliar){
nombre = productos.getNombre();
precioAuxiliar = productos.getPrecio();

}
}
return nombre;

}

public double promedio(){


}



}
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

Ayuda para sacar promedio y el inventario

Publicado por Norvey Peña (1 intervención) el 13/08/2021 04:27:51
amigo, no es una respuesta pero tengo entendido que ese ejercicio es de un curso de mintic, serias tan amable de compartirme el link para realizar esos ejercicios y presentarlos? gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para sacar promedio y el inventario

Publicado por Pedro Luis (2 intervenciones) el 15/08/2021 03:11:36
Amigo - qué link necesita y se lo comparto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para sacar promedio y el inventario

Publicado por Pedro Luis (2 intervenciones) el 15/08/2021 03:20:46
Ando en las mismas. Me falta solamente el promedio y el valor total del inventario. :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para sacar promedio y el inventario

Publicado por andres (1 intervención) el 18/08/2021 17:50:57
private double totalInventario() {
double suma = 0;
for (Producto producto : listaProductos.values()) {
suma += (producto.getPrecio() * producto.getInventario());//suma = suma + ()
}
return suma;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar