import java.util.Scanner; /** * Replace this JavaDoc comment for the purpose of this class */ public class Solution { /** * Gets data from standard input */ private Scanner input; private PromedioVentasPorSucursal promedioVentasPorSucursal; /** * Start the execution of the solution * @param args Command line arguments */ public static void main(String args[]) { Solution solution = new Solution(); solution.run(); } /** * Run the solution. This method is called from main() */ public void run() { // Create object to read data from standard input input = new Scanner(System.in); // Metodo que imprime el encabezado del promedio de ventas printEncabezado(); // This code replicates the input to the standard output input.useDelimiter("[\\/\\s]"); // Mientras hayan datos, obtener el promedio de temporada baja y de temporada alta de cada sucursal while ( input.hasNextInt() ) { //double promedioDeVentasAlta = 0.0; //double promedioDeVentasBaja = 0.0; // Crear variables que almacenen el promedio de bentas por temporada y por sucursal double promedioDeVentasAltaCarrillo = 0.0; double promedioDeVentasBajaCarrillo = 0.0; double promedioDeVentasAltaLiberia = 0.0; double promedioDeVentasBajaLiberia = 0.0; double promedioDeVentasAltaSardinal = 0.0; double promedioDeVentasBajaSardinal = 0.0; // Obtener las variables y crear un objeto que controle las funciones del promedio int dia = input.nextInt(); int mes = input.nextInt(); int año = input.nextInt(); String sucursal = input.next(); double venta = input.nextDouble(); PromedioVentasPorSucursal promedioVentasPorSucursal = new PromedioVentasPorSucursal(dia, mes, año, sucursal, venta); if ( promedioVentasPorSucursal.sucursalCarrillo() ) { // Si el mes se encuenta de 1 a 4, 7 y 12,entonces las ganancias de ventas seran en temporada alta if ( mes >= 1 || mes <= 4 || mes == 7 || mes == 12 ) { promedioVentasPorSucursal.formulaPromedioVentasAltaCarrillo(venta); } // De lo contario, las ventas seran durante a temporada baja else { promedioVentasPorSucursal.formulaPromedioVentasBajaCarrillo(venta); } } if ( promedioVentasPorSucursal.sucursalLiberia() ) { // Si el mes se encuenta de 1 a 4, 7 y 12,entonces las ganancias de ventas seran en temporada alta if ( mes >= 1 || mes <= 4 || mes == 7 || mes == 12 ) { promedioVentasPorSucursal.formulaPromedioVentasAltaLiberia(venta); } // De lo contario, las ventas seran durante a temporada baja else { promedioVentasPorSucursal.formulaPromedioVentasBajaLiberia(venta); } } if ( promedioVentasPorSucursal.sucursalSardinal() ) { // Si el mes se encuenta de 1 a 4, 7 y 12,entonces las ganancias de ventas seran en temporada alta if ( mes >= 1 || mes <= 4 || mes == 7 || mes == 12 ) { promedioVentasPorSucursal.formulaPromedioVentasAltaSardinal(venta); } // De lo contario, las ventas seran durante a temporada baja else { promedioVentasPorSucursal.formulaPromedioVentasBajaSardinal(venta); } } } // Imprime los resutados de los promedios con sus respectivos sucursales, manteniendo un margen de formato organizado printPromedioCarrillo(); printPromedioLiberia(); printPromedioSardinal(); // Close the standard input input.close(); } /** * Metodo encargado de imprimir el encabezado de la estadistica de promedios, escribiendo la tienda, baja y alta, * ademas de imprimir una linea de divisora por medio de iguales("=") */ public void printEncabezado() { System.out.println("TIENDA BAJA ALTA"); System.out.println("=============== =============== ==============="); } /** * Metodo encargado de imprimir Carrillo, y las ventas promedio durante la temporada alta y la temporada baja de esta tienda */ public void printPromedioCarrillo() { System.out.print("Carrillo "); } /** * Metodo encargado de imprimir Liberia, y las ventas promedio durante la temporada alta y la temporada baja de esta tienda */ public void printPromedioLiberia() { System.out.print("Liberia "); } /** * Metodo encargado de imprimir Sardinal, y las ventas promedio durante la temporada alta y la temporada baja de esta tienda */ public void printPromedioSardinal() { System.out.print("Sardinal "); } } /** * Representa el promedio de ventas de diversas sucursales, donde conocemos la fecha, las diversas sucursales y su respectiva venta */ class PromedioVentasPorSucursal { /** * Dia del a venta */ private int dia = 0; /** * Mes de la venta */ private int mes = 0; /** * Año de la venta */ private int año = 0; /** * Sucursal donde se realizaron las ventas */ private String sucursal = null; /** * Total que se vendio ese dia en una determinada sucursal */ private double venta = 0.0; //private double promedioDeVentasAlta = 0.0; //private double promedioDeVentasBaja = 0.0; /** * Promedio de ventas durante la temporada alta en Carrillo * Se averigua sumando las ventas durante el proceso mencionado anteriormente, donde las ventas se suman * y luego se dividen entre la cantidad de ventas */ private double promedioDeVentasAltaCarrillo = 0.0; /** * Promedio de ventas durante la temporada baja en Carrillo * Se averigua sumando las ventas durante el proceso mencionado anteriormente, donde las ventas se suman * y luego se dividen entre la cantidad de ventas */ private double promedioDeVentasBajaCarrillo = 0.0; /** * Promedio de ventas durante la temporada alta en Liberia * Se averigua sumando las ventas durante el proceso mencionado anteriormente, donde las ventas se suman * y luego se dividen entre la cantidad de ventas */ private double promedioDeVentasAltaLiberia = 0.0; /** * Promedio de ventas durante la temporada baja en Liberia * Se averigua sumando las ventas durante el proceso mencionado anteriormente, donde las ventas se suman * y luego se dividen entre la cantidad de ventas */ private double promedioDeVentasBajaLiberia = 0.0; /** * Promedio de ventas durante la temporada alta en Sardinal * Se averigua sumando las ventas durante el proceso mencionado anteriormente, donde las ventas se suman * y luego se dividen entre la cantidad de ventas */ private double promedioDeVentasAltaSardinal = 0.0; /** * Promedio de ventas durante la temporada baja en Sardinal * Se averigua sumando las ventas durante el proceso mencionado anteriormente, donde las ventas se suman * y luego se dividen entre la cantidad de ventas */ private double promedioDeVentasBajaSardinal = 0.0; /** * Toma el plano/clase y crea un objeto */ public PromedioVentasPorSucursal (int dia, int mes, int año, String sucursal, double venta) { this.dia = dia; this.mes = mes; this.año = año; this.sucursal = sucursal; this.venta = venta; } public double getPromedioVentasAltaCarrillo() { return this.promedioDeVentasAltaCarrillo; } public double getPromedioVentasBajaCarrillo() { return this.promedioDeVentasBajaCarrillo; } /** * Metodo que compara el valor de la variable sucursal con la palabra Carrillo */ public boolean sucursalCarrillo() { return this.sucursal.equals("Carrillo"); } /** * Metodo que compara el valor de la variable sucursal con la palabra Liberia */ public boolean sucursalLiberia() { return this.sucursal.equals("Liberia"); } /** * Metodo que compara el valor de la variable sucursal con la palabra Sardinal */ public boolean sucursalSardinal() { return this.sucursal.equals("Sardinal"); } /*public boolean AveriguarTemporada() { return this.mes >= 1 || this.mes <= 4 || this.mes == 7 || this.mes == 12; }*/ /** * Metodo encargado de averiguar la suma de las ventas en Carrillo durante la temporada alta, * dividiendo su valor entre la cantidad de ventas, obteniendo el promedio * * @param venta representa el valor de venta por fecha */ public void formulaPromedioVentasAltaCarrillo(double venta) { promedioDeVentasAltaCarrillo = promedioDeVentasAltaCarrillo + venta; } /** * Metodo encargado de averiguar la suma de las ventas en Carrillo durante la temporada baja, * dividiendo su valor entre la cantidad de ventas, obteniendo el promedio * * @param venta representa el valor de venta por fecha */ public void formulaPromedioVentasBajaCarrillo(double venta) { promedioDeVentasBajaCarrillo += venta; } /** * Metodo encargado de averiguar la suma de las ventas en Liberia durante la temporada alta, * dividiendo su valor entre la cantidad de ventas, obteniendo el promedio * * @param venta representa el valor de venta por fecha */ public void formulaPromedioVentasAltaLiberia(double venta) { promedioDeVentasAltaLiberia += venta; } /** * Metodo encargado de averiguar la suma de las ventas en Liberia durante la temporada baja, * dividiendo su valor entre la cantidad de ventas, obteniendo el promedio * * @param venta representa el valor de venta por fecha */ public void formulaPromedioVentasBajaLiberia(double venta) { promedioDeVentasBajaLiberia += venta; } /** * Metodo encargado de averiguar la suma de las ventas en Sardinal durante la temporada alta, * dividiendo su valor entre la cantidad de ventas, obteniendo el promedio * * @param venta representa el valor de venta por fecha */ public void formulaPromedioVentasAltaSardinal(double venta) { promedioDeVentasAltaSardinal += venta; } /** * Metodo encargado de averiguar la suma de las ventas en Sardinal durante la temporada baja, * dividiendo su valor entre la cantidad de ventas, obteniendo el promedio * * @param venta representa el valor de venta por fecha */ public void formulaPromedioVentasBajaSardinal(double venta) { promedioDeVentasBajaSardinal += venta; } }