Debido a la crisis, el bar de Javier ha notado un descenso de las consumiciones. Además, según dicen en los telediarios, la ley antitabaco le está perjudicando aún más. Como no termina de creerse todo lo que dicen en la televisión, ha decidido hacer un estudio de mercado semanal de su establecimiento. Para ello, ha estado apuntando la caja diaria que se ha realizado en las últimas semanas. Le gustaría saber qué día de la semana se producen el mayor y el menor número de ventas, y si las ventas del domingo superan a la media semanal. De esta manera podrá establecer estrategias de marketing que le permitan recuperar algo de las ganancias perdidas.
Hola amigos, qué tal estáis? Hoy he resuelto un reto de aceptaelreto.com bastante divertido, por cierto, no llega a las 100 líneas de código la verdad me he entretenido bastante, el reto consiste en que facilitas una cantidad de dinero para los diferentes días de la semana, y debes de decir el día que menos se hizo, el día que más se hizo y si el domingo se hizo más que la media, aquí os dejo el ejercicio en Java:
try {
String str = «»;
float[] arrFloat = new float[7];
float numMen = 100000;
float numMay = -100000;
float media = 0;
String rendimiento = «»;
String semMay = «»;
String semMenor = «»;
Scanner sca = new Scanner(System.in);
System.out.println(«Lunes:»);
str = sca.nextLine();
str.replaceAll(«.», «,»);
arrFloat[0] = Float.parseFloat(str);
System.out.println(«Martes:»);
str = sca.nextLine();
str.replaceAll(«.», «,»);
arrFloat[1] = Float.parseFloat(str);
System.out.println(«Miercoles:»);
str = sca.nextLine();
str.replaceAll(«.», «,»);
arrFloat[2] = Float.parseFloat(str);
System.out.println(«Jueves:»);
str = sca.nextLine();
str.replaceAll(«.», «,»);
arrFloat[3] = Float.parseFloat(str);
System.out.println(«Viernes:»);
str = sca.nextLine();
str.replaceAll(«.», «,»);
arrFloat[4] = Float.parseFloat(str);
System.out.println(«Sábado:»);
str = sca.nextLine();
str.replaceAll(«.», «,»);
arrFloat[5] = Float.parseFloat(str);
System.out.println(«Domingo:»);
str = sca.nextLine();
str.replaceAll(«.», «,»);
arrFloat[6] = Float.parseFloat(str);
for (int i = 0; i < arrFloat.length; i++) {
if (numMay < arrFloat[i]) {
//aqui aparece numero mayor
numMay = arrFloat[i];
}
if (numMen > arrFloat[i]) {
//aqui aparece numero mayor
numMen = arrFloat[i];
}
}
//Obtenemos el día de la semana mayor y menor con cuidado de repetir la semana
for (int i = 0; i < arrFloat.length; i++) {
if (arrFloat[i] == numMay) {
if (i == 0) {
semMay=semMay+»Lunes «;
}else if(i ==1){
semMay=semMay+»Martes «;
}else if(i ==2){
semMay=semMay+»Miercoles «;
}else if(i ==3){
semMay=semMay+»Jueves «;
}else if(i ==4){
semMay=semMay+»Viernes «;
}else if(i ==5){
semMay=semMay+»Sábado «;
}else if(i ==6){
semMay=semMay+»Domingo «;
}
}
if (arrFloat[i] == numMen) {
if (i == 0) {
semMenor=semMenor+»Lunes «;
}else if(i ==1){
semMenor=semMenor+»Martes «;
}else if(i ==2){
semMenor=semMenor+»Miercoles «;
}else if(i ==3){
semMenor=semMenor+»Jueves «;
}else if(i ==4){
semMenor=semMenor+»Viernes «;
}else if(i ==5){
semMenor=semMenor+»Sábado «;
}else if(i ==6){
semMenor=semMenor+»Domingo «;
}
}
}
//calcula la media
for (int i = 0; i < arrFloat.length; i++) {
media = media + arrFloat[i];
}
//Vemos si el domingo merece la pena(se hace más que la media semanal)
media = media / 7;
if (media < arrFloat[6]) {
rendimiento = «SI»;
} else {
rendimiento = «NO»;
}
System.out.println(«Dia semana Mayor: » + semMay+»n» + «Dia semana menor: »
+ semMenor+»n Mas dinero Media «+rendimiento);
} catch (Exception ex) {
System.out.println(«Debes de poner un número válido»);
}
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.