Java - Ayuda para un programa usando if-else

 
Vista:

Ayuda para un programa usando if-else

Publicado por CHP (1 intervención) el 21/09/2018 02:23:41
bueno tengo una duda de como hacer este programa:

3. Construye un programa que, al recibir como datos tres números reales, identifique cual es el mayor. Considera que los números pueden ser iguales.

Lo de identificar el número más mayor si sé, pero no se como puedo saber si esos podrían llegar a ser iguales.

si me pueden decir como llegar a hacer eso usando if-else seria de gran utilidad!
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

Ayuda para un programa usando if-else

Publicado por Kabuto (1382 intervenciones) el 23/09/2018 12:35:28
Hola.
Hay que pensar en cuales son todas las posibilidades y preguntar por ellas para ir descartando.

Tenemos tres numeros; a, b y c
Posibilidades:
- que los tres sean iguales
- que a == b
- que b == c
- que a == c
- que todos sean distintos

Son varias posibilidades lo cual requiere hacer bastantes comparaciones. Esto resulta lioso y confuso, así que lo ideal es incluir lineas de comentarios explicando en todo momento en que posibilidad nos encontramos y que implica cada comparación.
Así es más fácil seguir el hilo de lo que estamos haciendo

Entonces:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
if (a==b && a==c) {//Esto implica que b==c, por lo tanto TODOS son iguales
    System.out.println("Los tres numeros son iguales");
}
else if (a==b) {//Si a y b son iguales, solo necesitamos comparar uno cualquier de estos dos con c para ver si es mayor o menor
    if (a>c) {
        System.out.println("El numero mayor es: " + a);//O también b, puesto que es lo mismo que a
    }
    else {//c es mayor que a , y por lo tanto también que b, puesto que b y a son iguales
        System.out.println("El numero mayor es: " + c);
    }
}
else if (a == c) {//Sabemos que a es distinto de b, vamos a ver que pasaria si a fuera igual que c
    if (a>b) {
        System.out.println("El numero mayor es: " + a);//O también c, puesto que a y c son iguales
    }
    else {//b es mayor que a, y por tanto también mayor que c, porque a == c
        System.out.println("El numero mayor es: " + b):
    }
}
else if (b==c) {//Falta valorar las posibilidades en caso de que b == c
...
...
...
 
}
else {//A partir de aquí, ya sabemos que todos los numero son distintos entre sí y solo queda compararlos buscando al mayor de todos
...
...
...
}

Completa tú las dos partes que faltan
- La posibilidad de que b == c
- La posibilidad de que todos sean distintos(que será como lo que tienes ya hecho)
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