Explicación Almacén (clase almacén)

public class Almacen {
    String nombre
    Producto [] produc = new Producto[50];
    Producto_Especial [] productoEspecial = new Producto_Especial[50];
    int cont_prod = 0;
    int cont_prod_esp = 0;

    public Almacen(String nombre)//constructor de almacen
    {
        this.nombre = nombre;
    }
    
    
    void agregar_producto(Producto normal)//metodo para agregar un producto normal
    {//1
        this.produc[cont_prod] = normal;//se agrega el producto entregado en el parametro
        cont_prod++;//luego de agregarlo le suma 1 al contador para la proxima vez guardarlo en la posicion siguiente
    }
    
    void agregar_producto(Producto_Especial especial)//metodo con sobrecarga para agregar un producto especial
    {//1
        this.productoEspecial[cont_prod_esp] = especial;
        cont_prod++;
    }
    
    void listar_productos()
    {//2
        int acont = 0;
        for (int i = 0; i < this.produc.length; i++)
        {
            if (this.produc[i] != null)
            {
                acont++;
            }
            if (this.productoEspecial[i] != null)
            {
                acont++;
            }
        }
        
    }
    
    void Productos_vencidos(int año, int mes)
    {//3
        for (int i = 0; i < this.produc.length; i++)
        {
            if (this.produc[i] != null)
            {
                //productos normales
                if (this.produc[i].anio < año)
                {
                    System.out.print(this.produc[i].nombre+" ");
                    System.out.println("vencido el "+this.produc[i].mes+" de "+this.produc[i].anio+".");
                    this.produc[i].vencido = true;
                    
                }else if (this.produc[i].mes < mes && this.produc[i].anio == año)
                {
                    System.out.print(this.produc[i].nombre+" ");
                    System.out.println("vencido el "+this.produc[i].mes+" de "+this.produc[i].anio+".");
                    this.produc[i].vencido = true;
                }
            }
            //productos especiales
            if (this.productoEspecial[i] != null)
            {
                
                if (this.productoEspecial[i].anio < año)
                {
                    System.out.print(this.productoEspecial[i].nombre+" ");
                    System.out.println("vencido el "+this.productoEspecial[i].mes+" de "+this.productoEspecial[i].anio+".");
                    this.productoEspecial[i].vencido = true;
                    
                }else if (this.productoEspecial[i].mes < mes && this.productoEspecial[i].anio == año)
                {
                    System.out.print(this.productoEspecial[i].nombre+" ");
                    System.out.println("vencido el "+this.productoEspecial[i].mes+" de "+this.productoEspecial[i].anio+".");
                    this.productoEspecial[i].vencido = true;
                }
            }
        }
    }
    
    int valor_total_productos()
    {//4
        int total = 0;
        int cont = 0;
        int cont2 = 0;
        
        while (this.produc[cont] != null)
        {
            total += this.produc[cont].precio;
            cont++;
        }
        while (this.productoEspecial[cont2] != null)
        {
            total += this.productoEspecial[cont2].precio;
            cont2++;
        }
        return total;
    }
    
    int perdida()
    {//5
        int costo = 0;
        int cont1 = 0;
        int cont2 = 0;
        while (this.produc[cont1] != null && this.produc[cont1].vencido == true)
        {
            costo += this.produc[cont1].precio;
            cont1 ++;
        }
        while (this.productoEspecial[cont2] != null && this.productoEspecial[cont2].vencido == true)
        {
            costo += this.productoEspecial[cont2].precio;
            cont2++;
        }
        return costo;
    }
    
}

Comentarios

Entradas populares