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; /** * 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); Store store = new Store(); double gananciaCarrillo = 0; double gananciaLiberia = 0; double gananciaSardinar = 0; double counterLiberia= 0; double counterCarrillo= 0; double counterSardinar= 0; // This code replicates the input to the standard output store.printHead(); while ( input.hasNextLine() ) { //int mount = store.readData(input); // leer la fecha store.readData(input); // leere el nomber de la tienda store.readStore(input); // leer la ganancia store.readGanancia(input); // obtener el codigo de la tienda int locateStore = store.getNameStore(); // obtener el mes de la fecha int mount = store.getData(); // si @mount es 1, es Carrillo, if (locateStore == 1) // carrillo { store.readGanancia(input); gananciaCarrillo += store.getGanancia(); counterCarrillo++; double promedio = store.getAverage(counterCarrillo, gananciaCarrillo); // procedimiento para saber si es temporada alta if (mount >=1 && mount <= 4 || mount == 12 || mount == 7) //temporada alta { System.out.print("Carrillo"); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); } // es temporada baja else { System.out.print("Carrillo "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Liberia "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); } } // si es 2; es Liberia, else if (locateStore == 2) // liberia { store.readGanancia(input); gananciaLiberia += store.getGanancia(); counterLiberia++; double promedio = store.getAverage(counterLiberia, gananciaLiberia); // procedimiento para saber si es temporada alta if (mount >=1 && mount <= 4 || mount == 12 || mount == 7) //temporada alta { System.out.print("Carrillo"); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); } // es temporada baja else { System.out.print("Carrillo "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Liberia "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); } } //si es 3, es Sardinal else if (locateStore == 3) // sardinal { store.readGanancia(input); gananciaSardinar += store.getGanancia(); counterSardinar++; double promedio = store.getAverage(counterSardinar, gananciaSardinar); // procedimiento para saber si es temporada alta if (mount >=1 && mount <= 4 || mount == 12 || mount == 7) //temporada alta { System.out.print("Carrillo"); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); } // es temporada baja else { System.out.print("Carrillo "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Liberia "); System.out.printf("%13.2f 0.00\n",promedio); System.out.print("Sardinal "); System.out.printf("%13.2f 0.00\n",promedio); } } } // Close the standard input input.close(); } } class Store { private String nameStore = null; private int day = 0; private int mount = 0; private int year = 0; private double ganancia; /** *imprime el encabezada */ public void printHead () { System.out.print("TIENDA BAJA ALTA\n"); System.out.print("=============== =============== ===============\n"); } /** * leer las fecha de la agenda * @param input * Ejemplo: 28/06/2017 */ public void readData(Scanner input) { input.useDelimiter("[/\\s]"); this.day = input.nextInt(); this.mount= input.nextInt(); this.year = input.nextInt(); } /** * reporta el mes dado en la fecha * @return * Ejemplo: 28/06/2017 */ public int getData () { return mount; } /** * leer el nombre de la tienda * @param input * Ejemplo: Liberia */ public void readStore(Scanner input) { this.nameStore = input.next(); } /** * reporta un numero depende de la tienda * @return 1 si es carrillo, 2 si es sardinal y 3 si es liberia */ public int getNameStore () { int indicator; if (nameStore.equals("Carrillo")) { indicator = 1; } else if (nameStore.equals("Sardinal")) { indicator = 2; } else { indicator = 3; } return indicator; } /** * lee las ganancias hechas en el mes de una tienda * @param input * Ejemplo: leer 12490 */ public void readGanancia(Scanner input) { this.ganancia = input.nextInt(); } /** * reporta las ganancias de un mes * Ejemplo: reporta 12490 */ public double getGanancia() { return ganancia; } /** * */ public double getAverage(double counter, double ganancia) { double promedio = ganancia / counter; return promedio; } }