Java; comparar número mayor, número medio, y número menor con objetos y ternarios. [Programación Orientada a Objetos.]

En esta ocasión haremos un clásico de la programación sin dudas hace un año esto fue un rompedero de cabeza para mí, pero viendo un post en facebook me anime a hacerlo nuevamente. Este fue el resultado:

Para esto, te pediré que crees dos clases (respetando mayúsculas y minúsculas) dentro del paquete que estás trabajando.

La primera clase se debe llamar Main
La segunda clase se debe llamar Operaciones


Primero tenemos nuestro main que se ve así:

  1. package (Aqui va el nombre de tu paquete);
  2. /**
  3.  * @author King (Arturo R)
  4.  */
  5. public class Main {
  6.     public static void main(String[] args) {
  7.         Operaciones iniciar = new Operaciones();
  8.         iniciar.pedirDatos();
  9.         iniciar.comparar();
  10.     }
  11. }

Lo primero que se hace, es crear un objeto llamado "iniciar" de la clase operaciones. Una vez que tenemos nuestro objeto de la clase operaciones, ya podemos usar todos los métodos de esa clase.


Y aquí tenemos nuestra clase "operaciones", que se ve así:

  1. package (aqui va el nombre de tu paquete, sin parentesis);
  2. import java.util.Scanner;
  3. /*
  4.  @author King (Arturo Ramirez) [https://programadorn00b.blogspot.com/]
  5.  */
  6. public class Operaciones {
  7.     Scanner input = new Scanner(System.in);
  8.     //atributos
  9.     private int numero1;
  10.     private int numero2;
  11.     private int numero3;
  12.     //metodo para pedir datos.
  13.     public void pedirDatos() {
  14.         System.out.println("Ingresa tu primer número.");
  15.         this.numero1 = input.nextInt();
  16.         System.out.println("Ingresa tu segundo número.");
  17.         this.numero2 = input.nextInt();
  18.         System.out.println("Ingresa tu tercer número.");
  19.         this.numero3 = input.nextInt();
  20.     }//Fin del metodo pedirDatos.
  21.     //metodo para comparar numeros
  22.     public void comparar() {
  23.         int numeroMayor = (int) (((this.numero1 > this.numero2) && this.numero1 > this.numero3) ? this.numero1
  24.                 : (this.numero2 > this.numero3) && (this.numero2 > this.numero1) ? this.numero2
  25.                         : (this.numero3 > this.numero2) && (this.numero3 > this.numero1) ? this.numero3 : this.numero3);
  26.         int numeroMenor = (int) ((this.numero1 < this.numero2) && this.numero1 < this.numero3 ? this.numero1
  27.                 : (this.numero2 < this.numero1) && (this.numero2 < this.numero3) ? this.numero2
  28.                         : (this.numero3 < this.numero2) && (this.numero3 < this.numero1) ? this.numero3 : this.numero3);
  29.         int numeroMediano = (int) (((this.numero1 < numeroMayor)) && (this.numero1 > numeroMenor) ? this.numero1
  30.                 : (this.numero2 < numeroMayor) && (this.numero2 > numeroMenor) ? this.numero2
  31.                         : (this.numero3 < numeroMayor) && (this.numero3 > numeroMenor) ? this.numero3 : this.numero3);
  32.         System.out.println(
  33.                 "\nEl número mayor es: " + numeroMayor
  34.                 + "\nEl número mediano es: " + numeroMediano
  35.                 + "\nEl número menor es: " + numeroMenor);
  36.     }//Fin del metodo "Comparar".
  37. //Fin de la clase Operaciones

En la clase operaciones comenzamos declarando atributos privados, debido a que estos atributos solo se usaran dentro de la clase "operaciones".

Despues creamos un metodo para pedir datos que se llama "pedirdatos".
Finalmente creamos un metodo que es capáz de comparar los números mayores, medios y menores.

La variable númeromayor, compara primero si 1 es mayor a 2 y 3, después si 2 es mayor a 1 y 3. Y finalmente si 3 es mayor a 1 y 2.

Después la variable numeromenor, compara si 1 es menor a 2 y 3, luego si 2 es menor a 1 y 3, y finalmente si 3, es menor a 1 y 2.

La variable numeromediano es donde muchos se podrían confundir, pues aquí la comparación cambia un poco.

Primero se compara si numero 1, es menor que el numero mayor, y numero 1 es mayor al numero menor.

Después se compara si numero 2, es menor que el número mayor y si número 2 es mayor al número menor.

Finalmente se compara si numero 3, es menor al número mayor, y si numero 3 es mayor al número menor.

===nota importante===
La sintaxis del ternario va así:  (condiciones) ? Valor si es cierto: valor si es falso;
El ternario se usa directamente sobre variables, outputs, e incluso retornos. Saberlo usar correctamente le puede dar una vuelta a tu forma de programar.




Comentarios

Entradas populares