Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/11/2019, 17:01
prueba230683
 
Fecha de Ingreso: abril-2011
Mensajes: 170
Antigüedad: 13 años
Puntos: 68
Respuesta: Las vocales con asteriscos pidiendo letra (Java principiante)

En la frase:

Cita:
"Si la cantidad actual es mayor que la capacidad máxima de la cafetera, la ajustará al máximo"
Creo que se refiere a que si el constructor Cafetera recibe un cantidadActual que es mayor que capacidadMaxima, entonces debes rebajar cantidadActual a capacidadMaxima, ya que superar la capacidad máxima de una cafetera no tiene sentido.

Por tanto sería:

Código Java:
Ver original
  1. public Cafetera(int capacidadMaxima, int cantidadActual) {
  2.    _cantidadActual = Math.min(cantidadActual, capacidadMaxima);
  3.    _capacidadMaxima = capacidadMaxima;
  4. }

Por otra parte:

Código Java:
Ver original
  1. public Cafetera(int capacidadMaxima) {
  2.        this(capacidadMaxima, 0);
  3. }

debería ser:

Código Java:
Ver original
  1. public Cafetera(int capacidadMaxima) {
  2.        this(capacidadMaxima, capacidadMaxima);
  3. }

Ya que te dice que también inicialices la cantidadActual a la capacidadMaxima especificada.

Por otra parte, a la hora de servir la taza debes evitar que _cantidadActual se quede en número negativo, es decir, que tomes más de lo que tiene actualmente la cafetera:

Código Java:
Ver original
  1. public void servirTaza(int tamanoTaza) {
  2.         _cantidadActual = Math.max(0, _cantidadActual - tamanoTaza);
  3. }

Puede que me haya equivocado en algo o tengas más errores, lo he hecho deprisa. De todas formas haz pruebas con los casos que te den para que puedas comprobar si está funcionando correctamente. Y usa printf para mostrar los resultados obtenidos. No podemos hacer todo el trabajo por ti.