Introducción
El método compareUnsigned() de la clase Integer se utiliza para comparar el valor sin signo de dos enteros para determinar cuál es mayor que el otro. El método devuelve 0 si los valores sin signo de ambos enteros son iguales. Devuelve 1 si el valor sin signo del primer entero es mayor que el segundo. Devuelve -1 si el valor sin signo del primer entero es menor que el segundo.
Crea un archivo de clase Java
En la terminal, crea un nuevo directorio para tu proyecto Java. Por ejemplo:
mkdir proyecto
Entra en el directorio del proyecto:
cd proyecto
Crea un nuevo archivo de clase Java llamado IntegerCompareUnsigned.java:
touch IntegerCompareUnsigned.java
Implementa el código
Copia y pega el siguiente código en el archivo IntegerCompareUnsigned.java:
import java.lang.Integer;
import java.util.Scanner;
public class IntegerCompareUnsigned {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese el primer y el segundo número: ");
// Tomando la entrada del usuario
try {
int n1 = sc.nextInt();
int n2 = sc.nextInt();
// Llamando al método compareUnsigned()
int r = Integer.compareUnsigned(n1, n2);
// Examinando el resultado
if(r > 0) {
System.out.println("El primer número es mayor");
}
else if(r < 0) {
System.out.println("El segundo número es mayor");
}
else {
System.out.println("Ambos números son iguales");
}
}
catch(Exception e) {
System.out.println("Entrada no válida!");
}
}
}
Guarda y cierra el archivo.
Este programa toma dos enteros del usuario y utiliza el método compareUnsigned() para comparar sus valores sin signo. Luego muestra si el primer número es mayor que el segundo, el segundo número es mayor que el primero o los números son iguales.
Compila y ejecuta el programa
Compila el programa usando el siguiente comando:
javac IntegerCompareUnsigned.java
Ejecuta el programa usando el siguiente comando:
java IntegerCompareUnsigned
Deberías ver el siguiente mensaje de solicitud:
Ingrese el primer y el segundo número:
Ingresa dos números: uno mayor que 2147483647 y el otro menor o igual a 2147483647. Esto se debe a que el tipo de datos int de Java solo puede almacenar valores de 32 bits con signo, desde -2147483648 hasta 2147483647. Si ingresas un número mayor que 2147483647, se mostrará un mensaje de error.
El programa se ejecutará y deberías ver la siguiente salida:
El primer número es mayor
Prueba el programa con diferentes valores
Puedes probar el programa con diferentes valores y ver la salida.
Intenta ejecutar el programa con las siguientes entradas:
Ingrese el primer y el segundo número: -10 20
Ingrese el primer y el segundo número: 500000000 -200000000
Ingrese el primer y el segundo número: 0 0
Modifica el programa
Modifica el programa para que tome dos enteros como argumentos de línea de comandos en lugar de leerlos del usuario en tiempo de ejecución.
Copia y pega el siguiente código en el archivo IntegerCompareUnsigned.java:
import java.lang.Integer;
public class IntegerCompareUnsigned {
public static void main(String[] args) {
// Comprobando si se proporcionan la cantidad correcta de argumentos
if(args.length!= 2) {
System.out.println("Por favor, proporcione dos argumentos enteros!");
return;
}
// Analizando los argumentos como enteros
int n1 = Integer.parseInt(args[0]);
int n2 = Integer.parseInt(args[1]);
// Llamando al método compareUnsigned()
int r = Integer.compareUnsigned(n1, n2);
// Examinando el resultado
if(r > 0) {
System.out.println(n1 + " es mayor que " + n2);
}
else if(r < 0) {
System.out.println(n2 + " es mayor que " + n1);
}
else {
System.out.println(n1 + " y " + n2 + " son iguales");
}
}
}
Guarda y cierra el archivo.
Compila y ejecuta el programa modificado
Compila el programa modificado usando el siguiente comando:
javac IntegerCompareUnsigned.java
Ejecuta el programa modificado usando el siguiente comando:
java IntegerCompareUnsigned 3000000000 200000000
Deberías ver la siguiente salida:
3000000000 es mayor que 200000000
Modifica el programa para probarlo con diferentes entradas.
Resumen
En este laboratorio, aprendiste cómo usar el método compareUnsigned() de la clase Integer para comparar el valor sin signo de dos enteros y determinar cuál es mayor que el otro. También aprendiste cómo modificar el programa para que tome dos enteros como argumentos de línea de comandos en lugar de leerlos del usuario en tiempo de ejecución.



