Java - Ayuda por favor con mi examen es de eclipse enterprise

 
Vista:

Ayuda por favor con mi examen es de eclipse enterprise

Publicado por Iris (1 intervención) el 15/05/2023 20:12:57
Una pizzería nos ha solicitado que les desarrollemos una aplicación que le permita manejar los pedidos que
reciben de sus clientes. La información que tenemos sobre el proceso de la pizzería es la siguiente: cuando
se realiza un pedido lo primero que se registra son los datos del cliente. Del cliente se necesita saber el
nombre y apellido, el celular, el medio de pago (tc=tarjeta crédito o e=efectivo). El segundo paso consiste en
registrar los detalles del pedido, los cuales son el sabor de la pizza, el tamaño (p=personal, g=grande y
f=familiar) y la cantidad.
Sabor Personal Grande Familiar
Salami 9.000 13.000 15.000
Italiana 19.000 22.000 25.000
Mexicana 14.000 17.000 20.000
El último paso consiste en registrar los datos del delivery que son: la dirección, referencia. Finalmente se
imprime el siguiente ticket:
### Pizzeria ABCD ###
--- Datos del cliente ---
Nombre: <nombre_pellido>
Celular: <celular>
Medio pago: <medio_pago>
--- Información para el delivery ---
Dirección: <direccion>
-- Detalle del pedido --
Cantidad-Sabor-Tamaño
<cantidad>-<sabor>-<tamaño>
-- Datos de pago --
Total del pedido: <99999>
Total del delivery: <99999>
Total a pagar: <99999>
Importante: el detalle del pedido puede tener más de un sabor (un cliente puede pedir varios sabores), el
usuario debe responder a una pregunta para determinar si desea ingresar más sabores o terminar la carga
del detalle (SI/NO). El total a pagar se calcula sumando el total del pedido + el total del delivery. El monto
del delivery es de 10.000 gs. El monto del pedido se calcula multiplicando la cantidad por el precio de la
pizza (que varía de acuerdo con el tamaño y sabor), si hay más de un detalle de pedido se hace el cálculo
mencionado anteriormente por cada sabor y los resultados se suman para obtener el total del pedido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de lan_385

Ayuda por favor con mi examen es de eclipse enterprise

Publicado por lan_385 (8 intervenciones) el 25/05/2023 00:01:35
Hola.
He hecho un ejercicio cambiando algunos términos, sin validaciones, etc. Lo he comprobado tres veces pero nunca se sabe.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class Cliente {
    private String nombre;
    private String apellidos;
    private String telefono;
    private String formaPago;
 
    public Cliente(String nombre, String apellidos, String telefono, String formaPago) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.telefono = telefono;
        this.formaPago = formaPago;
    }
 
    public String getNombre() {
        return nombre;
    }
 
    public String getApellidos() {
        return apellidos;
    }
 
    public String getTelefono() {
        return telefono;
    }
 
    public String getFormaPago() {
        return formaPago;
    }
 
    @Override
    public String toString() {
        return "Cliente{" + "nombre=" + nombre + ", apellidos=" + apellidos + ", telefono=" + telefono + ", formaPago=" + formaPago + '}';
    }
 
    public void mostrarDatos(){
        System.out.println("\"--- Datos del cliente ---\"");
        System.out.println("Nombre: "+nombre+" "+apellidos);
        System.out.println("Tlefono: "+telefono);
        System.out.println("Forma de pago: "+formaPago);
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Repartidor {
    private String direccion;
    private String referencia;
 
    public Repartidor(String direccion, String referencia) {
        this.direccion = direccion;
        this.referencia = referencia;
    }
 
    public String getDireccion() {
        return direccion;
    }
 
    public String getReferencia() {
        return referencia;
    }
 
    @Override
    public String toString() {
        return "Repartidor{" + "direccion=" + direccion + ", referencia=" + referencia + '}';
    }
 
    public void mostrarDatos(){
        System.out.println("--- Información para el repartidor ---");
        System.out.println("Dirección: "+direccion);
    }


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public class Pedido {
    private String tipo;
    private String tamanio;
    private int cantidad;
 
    int[][]precios={{9,13,15},{19,22,25},{14,17,20}};
 
    public Pedido(String tipo, String tamanio, int cantidad) {
        this.tipo = tipo;
        this.tamanio = tamanio;
        this.cantidad = cantidad;
    }
 
    public String getTipo() {
        return tipo;
    }
 
    public String getTamanio() {
        if(tamanio.equalsIgnoreCase("p")){
            tamanio="pequeña";
        }
        if(tamanio.equalsIgnoreCase("g")){
            tamanio="grande";
        }
        if(tamanio.equalsIgnoreCase("f")){
            tamanio="familiar";
        }
        return tamanio;
    }
 
    public int getCantidad() {
        return cantidad;
    }
 
    public void mostrarDatos(){
        System.out.println("-- Detalle del pedido --");
        System.out.println("Cantidad\t\t-Tipo\t\t-Tamaño");
 
    }
 
    public int precioPizza(Pedido pe){
        int precio;
        if(pe.getTipo().equalsIgnoreCase("Salami")){
            if(pe.getTamanio().equalsIgnoreCase("pequeña")){
                precio=precios[0][0];
            }else if(pe.getTamanio().equalsIgnoreCase("grande")){
                precio=precios[0][1];
            }else{
                precio=precios[0][2];
            }
        }else if(pe.getTipo().equalsIgnoreCase("Italiana")){
            if(pe.getTamanio().equalsIgnoreCase("pequeña")){
                precio=precios[1][0];
            }else if(pe.getTamanio().equalsIgnoreCase("grande")){
                precio=precios[1][1];
            }else{
                precio=precios[1][2];
            }
        }else{
            if(pe.getTamanio().equalsIgnoreCase("pequeña")){
                precio=precios[2][0];
            }else if(pe.getTamanio().equalsIgnoreCase("grande")){
                precio=precios[2][1];
            }else{
                precio=precios[2][2];
            }
        }
        return precio;
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
public class Principal {
    static Scanner sc=new Scanner(System.in);
    static List<Pedido> pedidos=new ArrayList<>();
    static Pedido pedido;
 
    public static void main(String[]args){
        String respuesta,respuesta_2;
        do{
            System.out.println("Introducir pedido");
            System.out.print("Nombre cliente: ");
            String nombre=sc.nextLine();
            System.out.print("Apellidos cliente: ");
            String apellidos=sc.nextLine();
            System.out.print("Teléfono cliente:");
            String telefono=sc.nextLine();
            System.out.print("Forma de pago (tc|e): ");
            String formaPago=sc.nextLine();
            Cliente cliente=new Cliente(nombre,apellidos,telefono,formaPago);
 
            do{
                System.out.print("Tipo de pizza (Salami|Italiana|Mexicana): ");
                String tipo=sc.nextLine();
                System.out.print("Tamaño pizza (p-pequeña|g-grande|f-familiar): ");
                String tamanio=sc.nextLine();
                System.out.print("Cantidad pizzas: ");
                int cantidad=Integer.parseInt(sc.nextLine());
                pedido=new Pedido(tipo,tamanio,cantidad);
                pedidos.add(pedido);
                System.out.print("Desea pedir otro tipo de pizza: ");
                respuesta_2=sc.nextLine();
            }while(!respuesta_2.equalsIgnoreCase("no"));
 
 
            System.out.print("Dirección: ");
            String direccion=sc.nextLine();
            System.out.print("Referencia: ");
            String referencia=sc.nextLine();
            Repartidor repartidor=new Repartidor(direccion,referencia);
 
            System.out.println("TICKET");
            System.out.println("### Pizzeria ABCD ###");
            cliente.mostrarDatos();
            repartidor.mostrarDatos();
            pedido.mostrarDatos();
            for(Pedido pe: pedidos){
                System.out.println("   "+pe.getCantidad()+"\t\t"+pe.getTipo()+"\t\t"+pe.getTamanio());
            }
 
 
            System.out.println("-- Datos de pago -");
            int precio;
            int precioPedido=0;
            for(int i=0;i<pedidos.size();i++){
                precio=pedido.precioPizza(pedidos.get(i));
                precioPedido+=precio*pedidos.get(i).getCantidad();
            }
            System.out.println("Total del pedido: "+precioPedido);
            int cant=0;
            for(int i=0;i<pedidos.size();i++){
                cant+=pedidos.get(i).getCantidad();
            }
            double montoRepartidor=cant*1.5;//repartidor cobra 1.5 € por pizza
            System.out.println("Total del repartidor: "+montoRepartidor);
            System.out.println("Total a pagar: "+(precioPedido+montoRepartidor));
 
 
 
            System.out.print("Desea introducir otro pedido: ");
            respuesta=sc.nextLine();
            pedidos.clear();
        }while(!respuesta.equalsIgnoreCase("no"));
    }
 
 
}

Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar