Anuncios

Bienvenidos sean a este post, hoy veremos una funcion para comparar entre numeros.

Anuncios

Ya se, se estan preguntando para que cojones/carajos quiero una funcion que nos compare dos numeros si poseemos los operadores de comparacion? Bueno, es porque tiene su practicidad para evaluar si un numero es mayor, igual o menor comparado con otro y nos permite trabajarlo desde una forma mas practica, para comenzar veremos su sintaxis:

variable.compareTo(valor a comparar);
Anuncios

Primero tenemos la variable a comparar, luego la funcion y por ultimo informamos el valor a comparar con la variable, vamos a usar un ejemplo practico para entender como nos puede resultar util esta funcion, para ello crearemos un archivo llamado comparar.java y le agregaremos el siguiente codigo:

comparar.java

public class comparar
{
	public static void main(String []args)
	{
		int[] miArray = {7, 1, 4, 5, 3};
		Integer numero = 4;

		for(int i=0; i < 5; i++)
		{
			int comparar = numero.compareTo(miArray[i]);
			String texto = "";
			switch(comparar)
			{
				case 0:
					texto="es del mismo valor";
					break;
				case 1:
					texto="este es menor";
					break;
				case -1:
					texto="este es mayor";
					break;
			}
			System.out.println("Pos[" + i + "] : " + texto);
		}
	}
}
Anuncios
Anuncios

Este es un ejemplo para ver su practicidad, primero crearemos un array de tipo int con cinco valores, luego crearemos una variable de tipo Integer (no int) porque si la hacemos de un valor primitivo no podremos utilizar a la funcion y esta solo funciona con las variables creadas con las clases de numeros, luego usaremos un bucle for donde pasaremos por todas las posiciones del array, dentro del bloque del for crearemos una varible de tipo int donde almacenaremos el resultado de la comparacion entre la variable numero y cada una de las posiciones del array, luego definiremos una variable de tipo String llamada texto pero en blanco, lo siguiente es un switch donde verificaremos a comparar, para ello tenemos tres case:

  • case 0, es utilizado para cuando compareTo devuelve este valor y equivale a valores iguales.
  • case 1, es para cuando devuelve cuando este valor y equivale a decir que el informado es menor al evaluado
  • case -1, es para cuando devuelve que el valor informado es mayor al evaluado
Anuncios

Si observan en cada case tenemos una cadena de texto donde informaremos que sucedio con cada case, por ultimo en cada vuelta mostraremos la posicion actual y el case que se ejecuto, con todo esto explicado pasemos a compilarlo y probarlo para ver su salida:

tinchicus@dbn001vrt:~/lenguajes/java$ java comparar 
Pos[0] : este es mayor
Pos[1] : este es menor
Pos[2] : es del mismo valor
Pos[3] : este es mayor
Pos[4] : este es menor
tinchicus@dbn001vrt:~/lenguajes/java$
Anuncios

Observen como en base al valor devuelto por compareTo sabemos que cada posicion es mayor, menor o igual al valor que lo comparamos, si tratan de hacer algo similar a esto deberan usar unos cuantos condicionales para obtener el mismo resultado, esto no solo nos ahorra mucho trabajo sino que para ciertos ambitos, p.e. un videojuego, nos puede facilitar ciertas tareas.

Anuncios

En resumen, hoy hemos visto que es compareTo, como trabaja, que facilidad nos brinda, como nos descongestiona mucho codigo para lograr el mismo resultado, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Donación

Es para mantenimento del sitio, gracias!

$1.00