Buenos días, aquí os adjunto otro ejercicio, el CU00688B del manual práctico de programación en Java.
public class Productos {
private double fCaducidad;
private int nºLote;
public Productos (double fCaducidad, int nºLote) {
this.fCaducidad = fCaducidad;
this.nºLote = nºLote;
}
public void fCaducidad (double fCaducidad) {
this.fCaducidad = fCaducidad;
}
public void nºLote (int nºLote) {
this.nºLote = nºLote;
}
public void mostrar(){}
public double getCaducidad () {return fCaducidad;}
public int getNºLote () { return nºLote;}
}
public class Pfrescos extends Productos {
private double fenvasado;
private String porigen;
public Pfrescos (double fCaducidad, int nºLote, double fenvasado, String porigen) {
super (fCaducidad, nºLote);
this.fenvasado = fenvasado;
this.porigen = porigen;
}
public void setfenvasado (double fenvasado) {
this.fenvasado = fenvasado;
}
public void setporigen (String porigen) {
this.porigen = porigen;
}
public double getfenvasado() {return fenvasado;}
public String getporigen() {return porigen;}
public void mostrar() {
System.out.println ("el producto fresco fué envasado en fecha de " + getCaducidad() + "\n"+ " el número de lote es " + getNºLote() + "\n" + " la fecha de envasado es " + getfenvasado() + "\n" + "el país de origen del producto es " + getporigen());
}
}
public class Prefrigerados extends Pcongelados {
String cOrganismo;
public Prefrigerados (double fCaducidad, int nºLote, double fenvasado, String porigen, double tªMantenimientoRecomendada, String cOrganismo) {
super (fCaducidad, nºLote, fenvasado, porigen, tªMantenimientoRecomendada);
this.cOrganismo = cOrganismo;
}
public void setCOrganismo ( String cOrganismo) {
this.cOrganismo = cOrganismo;
}
public String getCOrganismo () {return cOrganismo;}
public void mostrar() {
System.out.println ("el producto congelado fué envasado en fecha de " + getCaducidad() + "\n"+ " el número de lote es " + getNºLote() + "\n" + " la temperatura de mantenimiento recomendada " + getTªMantenimientoRecomendada() +"\n"+ " la fecha de envasado es " + getfenvasado() +"\n"+ " el país de origen es " + getporigen()+"\n"+ "el código del organismo alimentario es " + getCOrganismo ()) ;
}
}
public class Pcongelados extends Pfrescos {
private double tªMantenimientoRecomendada;
public Pcongelados (double fCaducidad, int nºLote, double fenvasado, String porigen, double tªMantenimientoRecomendada) {
super (fCaducidad, nºLote, fenvasado, porigen);
this.tªMantenimientoRecomendada = tªMantenimientoRecomendada;
}
public void setTªMantenimientoRecomendada (double tªMantenimientoRecomendada) {
this.tªMantenimientoRecomendada = tªMantenimientoRecomendada;
}
public double getTªMantenimientoRecomendada() {return tªMantenimientoRecomendada;}
public void mostrar() {
System.out.println ("el producto congelado fué envasado en fecha de " + getCaducidad() + "\n"+ " el número de lote es " + getNºLote() + "\n" + " la temperatura de mantenimiento recomendada " + getTªMantenimientoRecomendada() +"\n"+ " la fecha de envasado es " + getfenvasado() +"\n"+ " el país de origen es " + getporigen()) ;
}
}
public class PCAire extends Pcongelados {
private String composicion;
public PCAire (double fCaducidad, int nºLote, double fenvasado, String porigen, double tªMantenimientoRecomendada, String composicion) {
super (fCaducidad, nºLote, fenvasado, porigen, tªMantenimientoRecomendada);
this.composicion = composicion;
}
public void setComposicion (String composicion) {
this.composicion = composicion;
}
public String getComposicion() {return composicion;}
public void mostrar() {
System.out.println ("el producto congelado fué envasado en fecha de " + getCaducidad() + "\n"+ " el número de lote es " + getNºLote() + "\n" + " la temperatura de mantenimiento recomendada " + getTªMantenimientoRecomendada() +"\n"+ " la fecha de envasado es " + getfenvasado() +"\n"+ " el país de origen es " + getporigen() +"\n"+ "la composición del aire de congelación es " + getComposicion());
}
}
public class PCAgua extends Pcongelados {
private String salinidad;
public PCAgua (double fCaducidad, int nºLote, double fenvasado, String porigen, double tªMantenimientoRecomendada, String salinidad) {
super (fCaducidad, nºLote, fenvasado, porigen, tªMantenimientoRecomendada);
this.salinidad = salinidad;
}
public void setSalinidad (String salinidad) {
this.salinidad = salinidad;
}
public String getSalinidad() {return salinidad;}
public void mostrar() {
System.out.println ("el producto congelado fué envasado en fecha de " + getCaducidad() + "\n"+ " el número de lote es " + getNºLote() + "\n" + " la temperatura de mantenimiento recomendada " + getTªMantenimientoRecomendada() +"\n"+ " la fecha de envasado es " + getfenvasado() +"\n"+ " el país de origen es " + getporigen() +"\n"+ "la salinidad del agua de congelación es " + getSalinidad());
}
}
public class PCNitrogeno extends Pcongelados {
private String mCongelacion;
private int tExposicion;
public PCNitrogeno (double fCaducidad, int nºLote, double fenvasado, String porigen, double tªMantenimientoRecomendada, String mCongelacion, int tExposicion) {
super (fCaducidad, nºLote, fenvasado, porigen, tªMantenimientoRecomendada);
this.mCongelacion = mCongelacion;
this.tExposicion = tExposicion;
}
public void setMCongelacion (String mCongelacion) {
this.mCongelacion = mCongelacion;
}
public void setTExposicion (int tExposicion) {
this.tExposicion = tExposicion;
}
public String getMCongelacion() {return mCongelacion;}
public int getTExposicion() {return tExposicion;}
public void mostrar() {
System.out.println ("el producto congelado fué envasado en fecha de " + getCaducidad() + "\n"+ " el número de lote es " + getNºLote() + "\n" + " la temperatura de mantenimiento recomendada " + getTªMantenimientoRecomendada() +"\n"+ " la fecha de envasado es " + getfenvasado() +"\n"+ " el país de origen es " + getporigen() +"\n"+ "el método de congelación utilizado fué " + getMCongelacion() +"\n"+ "el tiempo de exposición al nitrógeno fue " + getTExposicion());
}
}
import java.util.*;
import java.util.Iterator;
public class EnvioProductos {
public static void main (String [] args) {
Pfrescos producto1 = new Pfrescos (10.12 , 12, 9.11, "españa");
Pfrescos producto2 = new Pfrescos (5.12, 45, 29.11, "españa");
Prefrigerados producto3 = new Prefrigerados (10.12 , 12, 9.10, "españa", 5, "c25");
Prefrigerados producto4 = new Prefrigerados (9.12 , 12, 8.10, "españa", 5, "c25");
Prefrigerados producto5 = new Prefrigerados (11.12 , 12, 10.10, "españa", 5, "c25");
PCAgua producto6 = new PCAgua (9.12 , 12, 5.5, "españa", 0, "1% nitrogeno, 2% oxígeno, 3% CO2, 4% H2O");
PCAgua producto7 = new PCAgua (8.12 , 11, 4.5, "españa", 0, "1% nitrogeno, 2% oxígeno, 3% CO2, 4% H2O");
PCAire producto8 = new PCAire (9.12 , 12, 5.5, "españa", 0, "30 g/l");
PCAire producto9 = new PCAire (8.12 , 12, 4.5, "españa", 0, "30 g/l");
PCNitrogeno producto10 = new PCNitrogeno (9.12 , 12, 5.5, "españa", 0, "lenta", 100);
ArrayList <Productos> ListaProductos = new ArrayList<Productos>();
//ListaProductos = Arrays.asList(producto1, producto2, producto3, producto4, producto5, producto6, producto7, producto8, producto9, producto10);
ListaProductos.add(producto1);
ListaProductos.add(producto2);
ListaProductos.add(producto3);
ListaProductos.add(producto4);
ListaProductos.add(producto5);
ListaProductos.add(producto6);
ListaProductos.add(producto7);
ListaProductos.add(producto8);
ListaProductos.add(producto9);
ListaProductos.add(producto10);
Iterator <Productos> it1 = ListaProductos.iterator();
int i=1;
while (it1.hasNext()){
Productos productoAux = it1.next();
System.out.print(i);
productoAux.mostrar();
i++;
}
}
}
Sin más, un saludo y agradecer su colaboración