Usted deber´a realizar un programa que permita manejar los platos que conforman los men´ues de distintos restaurantes, as´ı como los ingredientes de estos platos. Para ello deber´a trabajar con un m´etodo main que ya viene implementado.
El programa lo dividiremos en 3 subconjuntos incrementales. Le recomendamos no comenzar con el siguiente subconjunto hasta terminar y probar el funcionamiento correcto del subconjunto actual.
Incremento 1
En este primer incremento deber´a definir lo b´asico de las clases Restaurant y Plato, para poder crearlas. Un Plato est´a caracterizado por su nombre, su precio y su tipo, el cual se representa con un 0 si corresponde a un plato fr´ıo o con un 1 si se trata de un plato caliente. Adem´as cada plato tiene sus ingredientes esenciales, los cuales se representan con un string en el cual se van concatenando los ingredientes que se van agregando al plato. Su clase Plato debe cumplir con los usos dados en el main provisto, el cual usted no puede modificar.
Por su parte, un Restaurant est´a caracterizado por los platos que componen su men´u, pudiendo ser hasta cinco como m´aximo. Al igual que Plato, la clase Restaurant debe poder ser utilizada con el main predefinido, por lo que su implementaci´on debe coincidir con los nombres y par´ametros de los m´etodos que ah´ı se encuentran.
Incremento 2
Ahora que ya est´an creados los restaurantes y sus platos, debe agregar los m´etodos necesarios a sus clases para que sea posible mostrar en consola el men´u de cada restaurant. El men´u de un restaurant se muestra indicando el nombre de ´este, el precio promedio de los platos que ofrece y, para cada uno de sus platos, la informaci´on correspondiente al nombre del plato, su precio y su tipo. Por ejemplo, para uno de los restaurantes el mensaje debe mostrarse como el siguiente:
*************************************************** Restaurant: Dona Juanita
Precio Promedio de sus platos: $3083.0 Pastel de Choclo, $3500, Caliente Cazuela de Vacuno, $4550, Caliente Mote con huesillos, $1200, Frio
***************************************************
Adem´as, cada restaurant debe ser capaz de retornar la cantidad de platos en su men´u cuyo precio sea igual o inferior a $4500, para que as´ı el main pueda mostrar los mensajes correspondientes.
Incremento 3
Por ´ultimo, debe complementar sus clases de modo que sea posible imprimir el men´u de cada restaurant s´olo con los platos cuyo precio no supere un precio determinado (especificado por el usuario), como tambi´en buscar el n´umero de platos en el men´u que presenten un determinado ingrediente en cada restaurant, permi- tiendo adicionalmente realizar esta b´usqueda para un tipo de plato en particular. Nuevamente debe cumplir con lo ya definido en el m´etodo main que se le entrega.
import i i c 1 1 0 3 P a c k a g e .*;
public class P r i n c i p a l {
public static void main (String[] args ) { /* * I n c r e m e n t o 1 */
// Creamos los r e s t a u r a n t e s y a g r e g a m o s platos con d i s t i n t o s // i n g r e d i e n t e s
R e s t a u r a n t r1 = new R e s t a u r a n t(" Italia Nostra ");
Plato plato11 = new Plato (" E s p a g u e t i a la c a r b o n a r a", 3890 , 1); plato11 . a g r e g a r I n g r e d i e n t e(" e s p a g u e t i");
plato11 . a g r e g a r I n g r e d i e n t e(" tocino ");
plato11 . a g r e g a r I n g r e d i e n t e(" aceite de oliva "); plato11 . a g r e g a r I n g r e d i e n t e(" huevo ");
plato11 . a g r e g a r I n g r e d i e n t e(" queso p a r m e s a n o"); plato11 . a g r e g a r I n g r e d i e n t e(" ajo ");
Plato plato21 = new Plato (" Ravioli ", 4980 , 1); plato21 . a g r e g a r I n g r e d i e n t e(" raviolis "); plato21 . a g r e g a r I n g r e d i e n t e(" queso ricotta "); plato21 . a g r e g a r I n g r e d i e n t e(" perejil fresco "); plato21 . a g r e g a r I n g r e d i e n t e(" huevo ");
Plato plato31 = new Plato (" M a c a r o n e s con jamon ", 4550 , 1); plato31 . a g r e g a r I n g r e d i e n t e(" m a c a r o n e s");
plato31 . a g r e g a r I n g r e d i e n t e(" crema "); plato31 . a g r e g a r I n g r e d i e n t e(" jamon cocido "); plato31 . a g r e g a r I n g r e d i e n t e(" queso p a r m e s a n o");
Plato plato41 = new Plato (" Gnoquis con Salsa B o l o n i e s a", 3200 , 1); plato41 . a g r e g a r I n g r e d i e n t e(" carne ");
plato41 . a g r e g a r I n g r e d i e n t e(" Gnoquis "); plato41 . a g r e g a r I n g r e d i e n t e(" z a n a h o r i a"); plato41 . a g r e g a r I n g r e d i e n t e(" tomate ");
plato41 . a g r e g a r I n g r e d i e n t e(" aceite de oliva ");
Plato plato51 = new Plato (" C i a l d e l l a pullese ", 2950 , 0); plato51 . a g r e g a r I n g r e d i e n t e(" tomate ");
plato51 . a g r e g a r I n g r e d i e n t e(" aceite de oliva "); plato51 . a g r e g a r I n g r e d i e n t e(" tostadas i n t e g r a l e s"); r1 . a g r e g a r P l a t o( plato11 ); r1 . a g r e g a r P l a t o( plato21 ); r1 . a g r e g a r P l a t o( plato31 ); r1 . a g r e g a r P l a t o( plato41 ); r1 . a g r e g a r P l a t o( plato51 );
R e s t a u r a n t r2 = new R e s t a u r a n t(" Mexico Lindo "); Plato plato12 = new Plato (" Papas rellenas ", 4600 , 1); plato12 . a g r e g a r I n g r e d i e n t e(" papas ");
plato12 . a g r e g a r I n g r e d i e n t e(" huevo "); plato12 . a g r e g a r I n g r e d i e n t e(" queso "); plato12 . a g r e g a r I n g r e d i e n t e(" jamon ");
Plato plato22 = new Plato (" Tortilla de verduras ", 3130 , 0); plato22 . a g r e g a r I n g r e d i e n t e(" pollo ");
plato22 . a g r e g a r I n g r e d i e n t e(" pimenton "); plato22 . a g r e g a r I n g r e d i e n t e(" queso "); plato22 . a g r e g a r I n g r e d i e n t e(" c h a m p i n i o n e s"); plato22 . a g r e g a r I n g r e d i e n t e(" cebolla ");
Plato plato32 = new Plato (" Carne a la crema ", 4200 , 1); plato32 . a g r e g a r I n g r e d i e n t e(" carne "); plato32 . a g r e g a r I n g r e d i e n t e(" crema "); plato32 . a g r e g a r I n g r e d i e n t e(" leche "); plato32 . a g r e g a r I n g r e d i e n t e(" perejil "); plato32 . a g r e g a r I n g r e d i e n t e(" ajo "); plato32 . a g r e g a r I n g r e d i e n t e(" oregano ");
plato32 . a g r e g a r I n g r e d i e n t e(" aceite de oliva "); Plato plato42 = new Plato (" Pastel azteca ", 4600 , 1); plato42 . a g r e g a r I n g r e d i e n t e(" pollo ");
plato42 . a g r e g a r I n g r e d i e n t e(" tomate ");
plato42 . a g r e g a r I n g r e d i e n t e(" aceite de oliva "); plato42 . a g r e g a r I n g r e d i e n t e(" queso p a r m e s a n o"); plato42 . a g r e g a r I n g r e d i e n t e(" cebolla ");
plato42 . a g r e g a r I n g r e d i e n t e(" aji ");
plato42 . a g r e g a r I n g r e d i e n t e(" harina de maiz ");
Plato plato52 = new Plato (" Tacos poblanos ", 3590 , 0); plato52 . a g r e g a r I n g r e d i e n t e(" tomate "); plato52 . a g r e g a r I n g r e d i e n t e(" huevo "); plato52 . a g r e g a r I n g r e d i e n t e(" chorizo "); plato52 . a g r e g a r I n g r e d i e n t e(" carne "); plato52 . a g r e g a r I n g r e d i e n t e(" queso "); plato52 . a g r e g a r I n g r e d i e n t e(" aji ");
plato52 . a g r e g a r I n g r e d i e n t e(" cebolla ");
Plato plato62 = new Plato (" Sopa mexicana ", 2990 , 1); plato62 . a g r e g a r I n g r e d i e n t e(" pollo "); plato62 . a g r e g a r I n g r e d i e n t e(" porotos "); plato62 . a g r e g a r I n g r e d i e n t e(" tomate "); plato62 . a g r e g a r I n g r e d i e n t e(" ajo "); r2 . a g r e g a r P l a t o( plato12 ); r2 . a g r e g a r P l a t o( plato22 ); r2 . a g r e g a r P l a t o( plato32 ); r2 . a g r e g a r P l a t o( plato42 ); r2 . a g r e g a r P l a t o( plato52 ); if (! r2 . a g r e g a r P l a t o( plato62 )) {
Usuario . m e n s a j e C o n s o l a(" No se pudo agregar el plato \" "
+ plato52 . g e t N o m b r e() + " \" al R e s t a u r a n t \" "
+ r2 . g e t N o m b r e() + " \" "); }
R e s t a u r a n t r3 = new R e s t a u r a n t(" Hariko Kimasi ");
Plato plato13 = new Plato (" Sushi con c a m a r o n e s", 4990 , 0); plato13 . a g r e g a r I n g r e d i e n t e(" arroz ");
plato13 . a g r e g a r I n g r e d i e n t e(" c a m a r o n e s"); plato13 . a g r e g a r I n g r e d i e n t e(" pimienta "); plato13 . a g r e g a r I n g r e d i e n t e(" vinagre "); plato13 . a g r e g a r I n g r e d i e n t e(" limon ");
Plato plato23 = new Plato (" Ensalada Japonesa ", 4600 , 0); plato23 . a g r e g a r I n g r e d i e n t e(" e s p a r r a g o s"); plato23 . a g r e g a r I n g r e d i e n t e(" rabanos "); plato23 . a g r e g a r I n g r e d i e n t e(" carne "); plato23 . a g r e g a r I n g r e d i e n t e(" coliflor "); plato23 . a g r e g a r I n g r e d i e n t e(" pimenton "); r3 . a g r e g a r P l a t o( plato13 ); r3 . a g r e g a r P l a t o( plato23 );
R e s t a u r a n t r4 = new R e s t a u r a n t(" Donia Juanita "); Plato plato14 = new Plato (" Pastel de Choclo ", 3500 , 1); plato14 . a g r e g a r I n g r e d i e n t e(" choclo "); plato14 . a g r e g a r I n g r e d i e n t e(" carne "); plato14 . a g r e g a r I n g r e d i e n t e(" cebolla "); plato14 . a g r e g a r I n g r e d i e n t e(" pollo "); plato14 . a g r e g a r I n g r e d i e n t e(" leche "); plato14 . a g r e g a r I n g r e d i e n t e(" a c e i t u n a s");
Plato plato24 = new Plato (" Cazuela de Vacuno ", 4550 , 1); plato24 . a g r e g a r I n g r e d i e n t e(" carne ");
plato24 . a g r e g a r I n g r e d i e n t e(" papa "); plato24 . a g r e g a r I n g r e d i e n t e(" zapallo "); plato24 . a g r e g a r I n g r e d i e n t e(" z a n a h o r i a"); plato24 . a g r e g a r I n g r e d i e n t e(" choclo "); plato24 . a g r e g a r I n g r e d i e n t e(" poroto verde "); plato24 . a g r e g a r I n g r e d i e n t e(" arroz ");
Plato plato34 = new Plato (" Mote con h u e s i l l o s", 1200 , 0); plato34 . a g r e g a r I n g r e d i e n t e(" mote "); plato34 . a g r e g a r I n g r e d i e n t e(" h u e s i l l o s"); r4 . a g r e g a r P l a t o( plato14 ); r4 . a g r e g a r P l a t o( plato24 ); r4 . a g r e g a r P l a t o( plato34 ); /* * I n c r e m e n t o 2 */
// M o s t r a m o s el menu completo de cada r e s t a u r a n t r1 . i m p r i m i r M e n u (0);
r2 . i m p r i m i r M e n u (0); r3 . i m p r i m i r M e n u (0); r4 . i m p r i m i r M e n u (0);
Usuario . m e n s a j e C o n s o l a(" ");
// M o s t r a m o s la cantidad de platos bajo 4.500 que incluye cada // r e s t a u r a n t en su menu
Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r1 . g e t N o m b r e() + " tiene " + r1 . p l a t o s E n P r e c i o (4500)
+ " platos con precio bajo los 4.500 en su menu . "); Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r2 . g e t N o m b r e()
+ " tiene " + r2 . p l a t o s E n P r e c i o (4500)
+ " platos con precio bajo los 4.500 en su menu . "); Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r3 . g e t N o m b r e()
/* * I n c r e m e n t o 3 */
// M o s t r a m o s el menu de cada r e s t a u r a n t solo con los platos dentro del // precio deseado
int precio = Usuario . entero (" Ingrese el maximo que esta d i s p u e s t o a pagar por el plato : "); r1 . i m p r i m i r M e n u( precio );
r2 . i m p r i m i r M e n u( precio ); r3 . i m p r i m i r M e n u( precio ); r4 . i m p r i m i r M e n u( precio ); Usuario . m e n s a j e C o n s o l a(" ");
// Ahora m o s t r a m o s la cantidad de platos del menu que tienen carne // dentro de sus i n g r e d i e n t e s
Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r1 . g e t N o m b r e() + " tiene en su menu " + r1 . p l a t o s C o n I n g r e d i e n t e(" carne ") + " platos que tienen carne como uno de sus i n g r e d i e n t e s. "); Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r2 . g e t N o m b r e()
+ " tiene en su menu " + r2 . p l a t o s C o n I n g r e d i e n t e(" carne ") + " platos que tienen carne como uno de sus i n g r e d i e n t e s. "); Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r3 . g e t N o m b r e()
+ " tiene en su menu " + r3 . p l a t o s C o n I n g r e d i e n t e(" carne ") + " platos que tienen carne como uno de sus i n g r e d i e n t e s. "); Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r4 . g e t N o m b r e()
+ " tiene en su menu " + r4 . p l a t o s C o n I n g r e d i e n t e(" carne ") + " platos que tienen carne como uno de sus i n g r e d i e n t e s. "); Usuario . m e n s a j e C o n s o l a(" ");
// F i n a l m e n t e m o s t r a m o s la cantidad de platos frios del menu que tienen // carne dentro de sus i n g r e d i e n t e s
Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r1 . g e t N o m b r e() + " tiene en su menu "
+ r1 . p l a t o s C o n I n g r e d i e n t e P o r T i p o(" carne ", 0)
+ " platos frios que tienen carne como uno de sus i n g r e d i e n t e s. ");
Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r2 . g e t N o m b r e() + " tiene en su menu "
+ r2 . p l a t o s C o n I n g r e d i e n t e P o r T i p o(" carne ", 0)
+ " platos frios que tienen carne como uno de sus i n g r e d i e n t e s. ");
Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r3 . g e t N o m b r e() + " tiene en su menu "
+ r3 . p l a t o s C o n I n g r e d i e n t e P o r T i p o(" carne ", 0)
+ " platos frios que tienen carne como uno de sus i n g r e d i e n t e s. ");
Usuario . m e n s a j e C o n s o l a(" El R e s t a u r a n t " + r4 . g e t N o m b r e() + " tiene en su menu "
+ r4 . p l a t o s C o n I n g r e d i e n t e P o r T i p o(" carne ", 0)
+ " platos frios que tienen carne como uno de sus i n g r e d i e n t e s. "); }
}
Criterios de soluci´on
Clase Plato
• Atributos: Declaramos los atributos necesarios seg´un nos indican en el enunciado: dos String, uno para el nombre y otro para los ingredientes y dos enteros, uno para representar el precio y otro para representar el tipo.
• Constructor: Lo declaramos seg´un el uso mostrado en la clase Principal. Recibe como par´ametros el nombre, el precio y el tipo y los asigna a los atributos correspondientes.
• M´etodo agragarIngrediente: Lo declaramos seg´un el uso mostrado en la clase Principal. Recibe como par´ametro un String con el ingrediente a agregar y tenemos que concatenarlo al String que almacena todos los ingredientes.
• Getters: Seg´un el uso dado en la clase Principal necesitamos 3 m´etodos get para obtener el nombre, el precio y el tipo.
• M´etodo tieneIngrediente: Este m´etodo sirve para revisar si el plato tiene un determinado ingrediente (para cumplir con lo pedido en el incremento 3), puede hacerse tambi´en s´olo en la clase Restaurant. Lo que hacemos es buscar el ingrediente generando todos los substrings desde la lista de ingredientes que tengan el mismo largo que el ingrediente recibido y comparar hasta encontrar alguna coincidencia.
• M´etodo mostrar: Revisamos el tipo del plato y seg´un eso mostramos en Consola su nombre y precio seguido de ’Fr´ıo’ o ’Cliente’, seg´un corresponda.
Clase Restaurant:
• Atributos: Declaramos los atributos necesarios seg´un lo que se nos indica en el enunciado: un String para guardar el nombre y cuatro objetos de la clase Plato que representen a los platos que integran el men´u del restaurant.
• Constructor: Lo declaramos seg´un el uso mostrado en la clase Principal. Recibe como par´ametro un String con el nombre y lo asigna al atributo correspondiente.
• M´etodo agregarPlato: Lo declaramos seg´un el uso mostrado en la clase Principal. Recibe como par´ametro un objeto de la clase Plato. Tenemos que revisar a qu´e objeto, de los 4 que tenemos como atributos, debemos asignarlo, revisando cu´al de ellos es todav´ıa null. Retornamos true o false seg´un se pudo o no asignar el plato.
• M´etodo getNombre: Retorna el nombre del restaurant.
• M´etodo platosEnPrecio: Declaramos una variable para ir contando, y recorremos todos los platos revisando cu´ales tienen precio igual o inferior al recibido como par´ametro. Antes de revisar el precio siempre debemos chequear que el objeto no sea null. Retornamos el contador.
• M´etodo precioPromedio: Recorremos todos los platos y obtenemos su precio (cuidando que el plato no sea null) calculando con esto el promedio.
• M´etodo imprimirMenu: Mostramos en la consola el nombre del Restaurant junto con el precio promedio de sus platos (llamando al m´etodo precioPromedio y cuantos platos tienen un precio menor o igual al recibido como par´ametro (llamando al m´etodo platosEnPrecio. Luego por cada plato llamamos al m´etodo que muestra su nombre, precio y tipo.
• M´etodo platosConIngrediente: Para no implementar un m´etodo dos veces simplemente llama- mos al m´etodo platosConIngredientePorTipo definiendo un valor inv´alido para el tipo. • M´etodo platosConIngredientePorTipo: Recorremos todos los platos y en cada uno una revisa-
mos que no sea nulo y que tenga el ingrediente solicitado (llamando al m´etodo que implementamos en la clase Plato). Adem´as, en caso que el tipo sea v´alido, tambi´en revisamos que el tipo del plato corresponda. Si se cumplen ambas condiciones aumentamos el contador de platos, el cual retor- namos al finalizar el m´etodo.
Posible soluci´on
import i i c 1 1 0 3 P a c k a g e .*;
public class Plato {
// D e f i n i m o s los a t r i b u t o s minimos n e c e s a r i o s
private String nombre ;
private int precio ;
private int tipo ;
private String i n g r e d i e n t e s;
public Plato (String nombre , int precio , int tipo ) { // I n i c i a l i z a m o s los valores para la p r e p a r a c i o n
this. nombre = nombre ;
this. precio = precio ;
this. tipo = tipo ;
this. i n g r e d i e n t e s = " "; }
public void a g r e g a r I n g r e d i e n t e(String i n g r e d i e n t e) {
// A g r e g a m o s el i n g r e d i e n t e al atributo ( String ) c o r r e s p o n d i e n t e i n g r e d i e n t e s += " - " + i n g r e d i e n t e;
}
if ( aux . e q u a l s I g n o r e C a s e( i n g r e d i e n t e)) { return true; } } return false; }
public void mostrar () {
if ( tipo == 0) {
Usuario . m e n s a j e C o n s o l a(" \ t " + nombre + " , " + precio + " , Frio "); } else {
Usuario . m e n s a j e C o n s o l a(" \ t " + nombre + " , " + precio + " , Caliente "); }
}
public String g e t N o m b r e() {
return nombre ; }
public int g e t P r e c i o() {
return precio ; }
public int getTipo () {
return tipo ; } } import i i c 1 1 0 3 P a c k a g e .*; public class R e s t a u r a n t { // D e f i n i m o s los a t r i b u t o s n e c e s a r i o s
private String nombre ;
// D e f i n i m o s los platos que integran el menu del R e s t a u r a n t
private Plato plato0 ;
private Plato plato1 ;
private Plato plato2 ;
private Plato plato3 ;
private Plato plato4 ;
public R e s t a u r a n t(String nombre ) {
this. nombre = nombre ; }
public Plato o b t e n e r P l a t o(int indice ) { // O b t e n e m o s el plato segun su indice
if ( indice == 0) { return plato0 ; } else if ( indice == 1) { return plato1 ; } else if ( indice == 2) { return plato2 ; } else if ( indice == 3) { return plato3 ; } else { return plato4 ; } }
public boolean a g r e g a r P l a t o( Plato plato ) {
// Para agregar un nuevo plato , buscamos el primero de los a t r i b u t o s que // aun sea nulo
if ( plato0 == null) { plato0 = plato ;
} else if ( plato1 == null) { plato1 = plato ;
} else if ( plato2 == null) { plato2 = plato ;
} else if ( plato3 == null) { plato3 = plato ;
} else if ( plato4 == null) { plato4 = plato ;
} else {
// Si no hay ninguno vacio entonces r e t o r n a m o s false
return false; }
}
public int p l a t o s E n P r e c i o(int precio ) {
// D e c l a r a m o s una variable para contar , y r e c o r r e m o s los platos buscando // aquellos con precio igual o inferior al indicado
int contador = 0;
for (int i = 0; i < 5; i ++) { Plato plato = o b t e n e r P l a t o( i );
if ( plato != null && plato . g e t P r e c i o() <= precio ) { contador ++;
} }
return contador ; }
public double p r e c i o P r o m e d i o() {
// D e c l a r a m o s una variable para contar , y r e c o r r e m o s los platos // c o n t a n d o l o s y a c u m u l a n d o sus precios int contador = 0 , p r e c i o T o t a l = 0; for (int i = 0; i < 5; i ++) { Plato plato = o b t e n e r P l a t o( i ); if ( plato != null) { p r e c i o T o t a l += plato . g e t P r e c i o (); contador ++; } } return p r e c i o T o t a l / contador ; }
public int p l a t o s C o n I n g r e d i e n t e(String i n g r e d i e n t e) {
// Llamamos al metodo que busca tambien por tipo de plato , d e f i n i e n d o un // valor invalido para dicho p a r a m e t r o
return p l a t o s C o n I n g r e d i e n t e P o r T i p o( ingrediente , -1); }
public int p l a t o s C o n I n g r e d i e n t e P o r T i p o(String ingrediente , int tipo ) { // R e c o r r e m o s todos los platos del restaurant , r e v i s a n d o que no sean // nulos y que tengan el i n g r e d i e n t e deseado ,
// r e s t r i n g i e n d o ademas por el tipo de plato en caso de que el p a r a m e t r o // c o r r e s p o n d i e n t e sea valido , y los contamos
int contador = 0;
for (int i = 0; i < 5; i ++) { Plato plato = o b t e n e r P l a t o( i );
if ( plato != null && plato . t i e n e I n g r e d i e n t e( i n g r e d i e n t e) && ( tipo == -1 || plato . getTipo () == tipo )) { contador ++;
} }
return contador ; }
public void i m p r i m i r M e n u(int precio ) {
Usuario . m e n s a j e C o n s o l a(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * "); Usuario . m e n s a j e C o n s o l a(" R e s t a u r a n t: " + nombre
+ " \ nPrecio Promedio de sus platos : " + p r e c i o P r o m e d i o ());
if ( precio != 0) {
Usuario . m e n s a j e C o n s o l a(" El menu incluye " + p l a t o s E n P r e c i o( precio ) + " platos con precio igual o menor a " + precio + " : "); }
for (int i = 0; i < 5; i ++) { Plato plato = o b t e n e r P l a t o( i );
if ( plato != null && ( precio == 0 || plato . g e t P r e c i o() <= precio )) { plato . mostrar ();
} }
Usuario . m e n s a j e C o n s o l a(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * "); }
public String g e t N o m b r e() {
return nombre ; }