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;
}
}
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
Publicar un comentario
Cual es tu solución?