Salon_belleza.java 4.04 KB
Newer Older
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
import java.util.Scanner;

public class Salon_belleza {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        String nombreRecibe = "";
        String ruc = "";
        double gastoEnProductos = 0;
        double gastoEnServicio = 0;

        System.out.println("Ingrese nombre del cliente");
        nombreRecibe = System.console().readLine();
        System.out.println("Ingrese Ruc del cliente");
        ruc = System.console().readLine();
        System.out.println("Ingrese gastos en productos del cliente");
        gastoEnProductos = scan.nextDouble();
        System.out.println("Ingrese gastos en servicios del cliente");
        gastoEnServicio = scan.nextDouble();
        Cliente cliente = new Cliente(nombreRecibe, ruc);
        System.out.println("Ingrese La cantidad de visitas");
        cliente.setNroVisitas(scan.nextInt());
        System.out.println("El cliente visito el local " + cliente.getNroVisitas() + " veces.");
        Descuento descuento = new Descuento(cliente);
        Visitas visitas = new Visitas(gastoEnProductos, gastoEnServicio, descuento, cliente);
        visitas.calFactura();
    }
}

class Cliente {

    private String nombre;
    private String ruc;
    private int numVisitas;

    public Cliente(String nombre, String ruc) {
        this.nombre = nombre;
        this.ruc = ruc;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getRuc() {
        return ruc;
    }

    public void setRuc(String ruc) {
        this.ruc = ruc;
    }

    public int getNroVisitas() {
        return numVisitas;
    }

    public void setNroVisitas(int numVisitas) {
        this.numVisitas = numVisitas;
    }

}

class Descuento {
    private String clase;
    private Cliente cliente;

    public String getClase() {
        return clase;
    }

    public void setClase(String clase) {
        this.clase = clase;
    }

    public Descuento(Cliente cliente) {
        this.cliente = cliente;

        if (cliente.getNroVisitas() > 100) {
            this.clase = "premium";
        } else if (cliente.getNroVisitas() > 50) {
            this.clase = "oro";
        } else if (cliente.getNroVisitas() > 20) {
            this.clase = "plata";
        } else {
            this.clase = "";
        }
    }
}

class Visitas {

    private double gastoEnProductos;
    private double gastoEnServicio;

    private Descuento descuento;
    private Cliente cliente;

    public double getGastoEnProductos() {
        return gastoEnProductos;
    }

    public void setGastoEnProductos(double gastoEnProductos) {
        this.gastoEnProductos = gastoEnProductos;
    }

    public double getGastoEnServicio() {
        return gastoEnServicio;
    }

    public void setGastoEnServicio(double gastoEnServicio) {
        this.gastoEnServicio = gastoEnServicio;
    }

    public void calFactura() {
        double montoCobrar;
        String mensaje = "";

        if (descuento.getClase() == "premium") {
            montoCobrar = (gastoEnServicio + gastoEnProductos) * 80 / 100;
            mensaje = "Descuento de tipo premium";
        } else if (descuento.getClase() == "oro") {
            montoCobrar = (gastoEnServicio + gastoEnProductos) * 85 / 100;
            mensaje = "Descuento de tipo oro";
        } else if (descuento.getClase() == "plata") {
            montoCobrar = (gastoEnServicio + gastoEnProductos) * 90 / 100;
            mensaje = "Descuento de tipo plata";
        } else {
            montoCobrar = (gastoEnServicio + gastoEnProductos);
        }

        System.out.println("Nombre del cliente: " + cliente.getNombre() + "\ncon RUC: " + cliente.getRuc()
                + "\nMonto a cobrar: " + montoCobrar + " " + mensaje);

    }

    public Visitas(double gastoEnProductos, double gastoEnServicio, Descuento descuento, Cliente cliente) {
        this.gastoEnProductos = gastoEnProductos;
        this.gastoEnServicio = gastoEnServicio;
        this.descuento = descuento;
        this.cliente = cliente;
    }

}