Primera Capa
package Datos;
import logica.Mesas;
public class Restaurante {
private Mesas [] mesa;
public Mesas[] getMesa() {
return mesa;
}
public void setMesa(Mesas[] m) {
this.mesa = m;
}
}
---------------------------------------------------------------------------------------------------------------------
Segunda Capa
package Datos;
public class Mesas {
private String pedido;
private double valor;
private String Estado;
private double CuentaT;
public double getCuentaT() {
return CuentaT;
}
public void setCuentaT(double cuentaT) {
CuentaT = cuentaT;
}
public Mesas(String p, String e, double v){
pedido=p;
valor=v;
Estado=e;
}
public String getPedido() {
return pedido;
}
public void setPedido(String pedido) {
this.pedido = pedido;
}
public double getValor() {
return valor;
}
public void setValor(double valor) {
this.valor = valor;
}
public String getEstado() {
return Estado;
}
public void setEstado(String estado) {
Estado = estado;
}
}
--------------------------------------------------------------------------------------------------------------------------
Tercera Capa
package logica;
import java.util.Scanner;
import java.util.Random;
import Datos.Restaurante;
public class Metodos {
Scanner kai= new Scanner(System.in);
Restaurante [][] restaurante= new Restaurante[2][5];
Mesas [] m= new Mesas[11];
Restaurante r= new Restaurante();
public void MenúPrincipal(){
boolean again=true;
int mesaobt=0;
while (again==true){
System.out.println("¡Buenos días!, bienvenido al restaurante \"Delicias kai\"");
System.out.println("¿qué desea hacer?");
System.out.println("<1> Obtener una mesa");
System.out.println("<2> Mostrar cuenta");
System.out.println("<3> Mostrar recaudo total (Opción sólo para administradores) ");
System.out.println("<4> Hasta luego.");
int opc=kai.nextInt();
switch(opc){
case 1 :
ObtenerMesa();
mesaobt=1;
break;
case 2:
if (mesaobt==1){
Cuenta();
}
else{
System.out.println("Su petición no puede ser ejecutada porque no ha obtenido una mesa todavía");
}
break;
case 3:
if(mesaobt==1){
Total();
}
else {
System.out.println("Lo siento, pero parece que aún no han habido clientes, trata más tarde de nuevo.");
}
break;
case 4:
System.out.println("Muchas gracias por su compra, espero nos veamos pronto de nuevo.");
again=false;
break;
default:System.out.println("Lo siento, pero no hay realmente una opción así, por favor intenta otra");
}
}
}
public void Total(){
double RT = 0;
for (int i=0; i<=10;i++){
RT= RT+ m[i].getCuentaT();
}
System.out.println("El día de hoy se han recaudado $"+RT);
}
public void Cuenta(){
System.out.println("Ingrese el número de su mesa, por favor");
int r=kai.nextInt();
System.out.println("Mesa #"+r+" \nTiene una cuenta de $"+m[r].getCuentaT());
}
public void LlenarI(){
String p, e;
double v;
for (int k=0;k<m.length;k++){
p="Ninguno";
e="Vacío";
v=0;
m[k]=new Mesas(p,e,v);
}
}
public void ObtenerMesa(){
Random rnd = new Random();
boolean again=true;
while (again==true){
int random2 =(int)(rnd.nextDouble() * 10 + 1);
System.out.println(random2);
if(m[random2].getEstado().equals("Vacío")){
m[random2].setEstado("Lleno");
System.out.println("Su mesa es la #"+ (random2));
Menú (random2);
again=false;
}
else{
System.out.println("La mesa #"+random2+" está ocupada.");
}
}
}
public void Menú(int r){
boolean again=true;
double Cuenta=0;
while(again==true){
System.out.println("¿Qué desea comer?");
System.out.println("<1> Pollo y bebida ($26.000)");
System.out.println("<2> Pescado y bebida($41.000)");
System.out.println("<3> Carne y bebida($39.000)");
System.out.println("<4> Nada más");
int opc1=kai.nextInt();
switch(opc1){
case 1:
m[r].setPedido("Pollo y bebida");
Cuenta=Cuenta+26000;
break;
case 2:
m[r].setPedido("Pescado y bebida");
Cuenta=Cuenta+41000;
break;
case 3:
m[r].setPedido("Carne y bebida");
Cuenta=Cuenta+39000;
break;
case 4:
System.out.println("Está bien, espere su orden con calma.");
again=false;
break;
}
}
m[r].setCuentaT(Cuenta);
}
}
---------------------------------------------------------------------------------------------------------------------------
Cuarta Capa
package Visualizaciójn;
import java.util.Scanner;
import logica.Metodos;
public class RumRestaurante {
static Scanner kai= new Scanner(System.in);
public static void main(String[]args){
Metodos m= new Metodos();
m.LlenarI();
m.MenúPrincipal();
}
}