Java - Hallar 3 números mayores de 5 numeros ingresados

 
Vista:

Hallar 3 números mayores de 5 numeros ingresados

Publicado por ElOsoMalore256 (1 intervención) el 19/04/2022 18:25:00
Buenas tengo una pregunta con respecto a un problema logico porque deseo hallar los 3 numeros mayores de 5 numeros ingresados y luego sacar el promedio con esos 3 numeros obtenidos. Mi duda es la siguiente puedo hacer la comparacion con if pero si hago eso el codigo seria extenso (a>b) && (b<c) &&(a>d)&&(a<e) // prom = a + c + e / 3 // a lo que quiero llegar es que podria hacerlo con todas las combinaciones posibles pero eso haria el codigo extenso y eso no es lo que busco estuve buscando sobre la opcion math.max pero no entiendo mucho ese concepto y tambien pense que tal vez podria hacerlo con un for? saben si eso puedo resolverlo en 2 lineas ? existe algun metodo que este omitiendo o existe otra logica o otra forma mas sencilla de plantearlo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Hallar 3 números mayores de 5 numeros ingresados

Publicado por Kabuto (1381 intervenciones) el 19/04/2022 23:43:26
¿Puedes usar arreglos?

La idea sería leer esos 5 números y guardarlos en un arreglo.
Luego ordenamos ese arreglo de menor a mayor, por ejemplo con "el método de la burbuja"
Una vez ordenado, ahora ya sabemos que los números mayores están en las tres últimas posiciones del arreglo.

Algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static void main(String[] args) {
 
		Scanner teclado = new Scanner(System.in);
		int[] numeros = new int[5];
 
		for (int i = 0; i < 5; i++) {
			System.out.print("Ingrese número: ");
			numeros[i] = teclado.nextInt();
		}
		teclado.close();
 
		//Ordenamos array de numeros de menor a mayor
		for (int i = 0; i < numeros.length - 1; i++)
			for (int j = 0; j < numeros.length - i -1; j++)
				if (numeros[j+1] < numeros[j]) {
					int aux = numeros[j+1];
					numeros[j+1] = numeros[j];
					numeros[j] = aux;
				}
 
		//Array ordenado, ahora sabemos que los mayores son las tres últimas posiciones
		System.out.println("Promedio: " + (numeros[2] + numeros[3] + numeros[4]) / 3);
 
	}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar