Crear la clase BotellaLitro, con varios atributos que indican su estado y diferentes funciones que permiten modificar su estado, consultar su estado y realizar otras operaciones.
public class BotellaLitro { public static final float CAPACIDAD = 1.0F; public static final int MEDIA = 6; public static final int NORMAL = 12; public static final int EXTRA = 24; private boolean estaCerrada; private float contenido; public static String unidad = "litros"; public void abrir(){ estaCerrada = false; } public void cerrar(){ estaCerrada = true; } public float contenido(){ return contenido; } public boolean estaCerrada(){ return (estaCerrada); } @Override public String toString(){ String aux; if (!estaCerrada) aux="abierta"; else aux="cerrada"; return ("La botella está "+aux+" y tiene "+contenido+" "+unidad); } public void vaciar(){ if (!estaCerrada) contenido = 0; } public void llenar(){ if (!estaCerrada) contenido = CAPACIDAD; } public float añadir(float cantidad){ float sobra; if (!estaCerrada){ sobra = cantidad - (CAPACIDAD - contenido); if (sobra >=0) contenido = CAPACIDAD; else{ sobra = 0; contenido = contenido + cantidad; } } else sobra = cantidad; return (sobra); } public float extraer(float cantidad){ float extraido; if (!estaCerrada){ if (cantidad <= contenido){ extraido = cantidad; contenido = contenido - extraido; } else{ extraido = contenido; contenido = 0; } } else extraido = 0F; return (extraido); } public static BotellaLitro[] cajaDeBotellas(int unidades){ BotellaLitro[] caja = new BotellaLitro[unidades]; int i; if (!(unidades == MEDIA | unidades == NORMAL | unidades == EXTRA)) caja = null; else for(i=0; i<caja.length; i++){ caja[i] = new BotellaLitro(); caja[i].llenar(); caja[i].cerrar(); } return (caja); } public float diferencia(BotellaLitro bot2){ float diferencia; if (contenido < bot2.contenido) diferencia = bot2.contenido - contenido; else diferencia = contenido - bot2.contenido; return diferencia; //OTRA FORMA: //return Math.abs(contenido - bot2.contenido); } public boolean equals(BotellaLitro bot2){ boolean iguales; if (contenido == bot2.contenido) iguales = true; else iguales = false; return iguales; //OTRA FORMA: //return contenido == bot2.contenido; } public int compareTo(BotellaLitro bot2){ int a; if (contenido < bot2.contenido) a = -1; else if (contenido == bot2.contenido) a = 0; else a = 1; return a; } }
No hay comentarios:
Publicar un comentario