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; } }