Hola de nuevo
Saludos amigos de Java México, primero que nada quiero agradecer la ayuda prestada por cfpmx en mi último post, y a la ayuda brindada por Benek de manera privada, se los agradezco muchismo, lo mismo para los demás (ezamudio y javier).
Les vengo con otra duda, sigo con esto de aprender Java, y me han dejado que haga un programa que resuelva lo siguiente:
Hay una licitacion para construir blablabla... y hay 5 empresas con sus respectivas cotizaciones, el programa me pide las 5 cotizaciones (eso es facil de hacer), pero ahora debo hacer que el programa descarte la cotización más barata y que promedie las 4 restantes, y que en pantalla muestre la cotización rechazada (la más barata) y el promedio de las otras 4. ¿Alguna idea de como hacerlo?
El chiste aqui es no usar un monton de if´s para ver cual es la más baja, eso si lo se hacer, el maestro quiere que encuentre otra solución. Les ruego a quienes se apiaden de mi alma haha que me expliquen con peritas y manzanas como se hace, acuerdense que soy nuevo en esto.
Espero sus prontas respuestas y gracias de antemano.
Saludos
- Inicie sesión o regístrese para enviar comentarios
Hola Ramipithecus, Lo que
Hola Ramipithecus,
Lo que podrías hacer es crear un algoritmo de ordenamiento, y le pasas un vector con los valores de las 5 cotizaciones. Luego haces una llamada al método de ordenamiento y te regresará el vector ordenado de mayor a menor ó de menor a mayor. Y ya con eso, lo demás es "pan comido". Esa es otra manera que se me ocurre, sin utilizar tanto if.
Java trae también sus propias colecciones, que traen métodos de ordenamiento, pero tal vez lo más apropiado para tí es que hagas las tuyas propias para que aprendas. Además, si luego llegaras a ver la materia de Estructura de Datos, lo mas seguro es que te pueda servir. El algoritmo de ordenamiento más común y básico es el de la burbuja.
Un problema
Me quedo claro eso de algoritmos de ordenamiento (de burbuja, burbuja bidireccional, etc.), el problema es que no se como usarlos, no se como ponerlos, cuando llamarlos, cuando acabarlos, y despues, cuando me queden los 4 restantes, ¿como los promedio? porque puede ser el n1 el menor y los demas mayores, pero tambien puede ser n2 y los demas ser más grandes, o n3 etc etc.. ¿cómo le hago saber al programa que tiene que promediar los mayores?....
Esto es lo que llevo, despues del else ya no se que hacer para no usar muchos if´s (Si puedo usarlos, que quede claro, pero no muchos, porque facilmente como yo lo se hacer me llevo 20).
Saludos
Ya se como
Ideé una forma (un tanto rudementaria, pero solo usa 6 if´s, en vez de los 20 ó 30 de la forma larga, el problema ahora es que me dice que no puede encontrar el "symbol method" showMessageDialog:
Aun me faltan toneladas de cosas y variables por usar, pero me gusta ir verificando conforme avanzo, y no puedo darme una explicación, ¿me pueden dar alguna idea?.
ACTUALIZACION: ERROR DE NOVATO!! hahaha me faltaba poner null ...
Saludos
respuesta
Me falta el try-catch, añádelo. Por otra parte quiero decirte que un diseño más adecuado sería en donde tuvieras métodos para lectura, para obtención del mínimo, para cálculo del promedio y para escritura de resultados. En vez de tener todo dentro del método main(). Saludos