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