Método de reversión de enteros en Java

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En Java, el método reverse() se utiliza para devolver el valor obtenido al invertir el orden de los bits de la representación binaria de complemento a dos del valor entero pasado. En este laboratorio, aprenderemos cómo utilizar el método reverse() y lo implementaremos en algunos ejemplos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/variables("Variables") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/wrapper_classes("Wrapper Classes") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/operators -.-> lab-117736{{"Método de reversión de enteros en Java"}} java/variables -.-> lab-117736{{"Método de reversión de enteros en Java"}} java/if_else -.-> lab-117736{{"Método de reversión de enteros en Java"}} java/output -.-> lab-117736{{"Método de reversión de enteros en Java"}} java/user_input -.-> lab-117736{{"Método de reversión de enteros en Java"}} java/exceptions -.-> lab-117736{{"Método de reversión de enteros en Java"}} java/wrapper_classes -.-> lab-117736{{"Método de reversión de enteros en Java"}} java/string_methods -.-> lab-117736{{"Método de reversión de enteros en Java"}} end

Escribe el programa de ejemplo

Escribe el siguiente bloque de código para implementar el programa de ejemplo:

import java.lang.Integer;

public class IntegerReverse {
    public static void main(String[] args) {
        int positiveValue = 202;
        int negativeValue = -50;

        System.out.println("Original Positive Number:" + positiveValue);
        System.out.println("Binary Representation:" + Integer.toBinaryString(positiveValue));
        System.out.println("Number after reversal:" + Integer.reverse(positiveValue));

        System.out.println("\nOriginal Negative Number:" + negativeValue);
        System.out.println("Binary Representation:" + Integer.toBinaryString(negativeValue));
        System.out.println("Number after reversal:" + Integer.reverse(negativeValue));
    }
}

En este paso, hemos aprendido a importar el paquete java.lang.Integer en nuestra clase. Hemos definido dos variables enteras y les hemos asignado valores.

Utilizando el método toBinaryString(), hemos convertido estos valores en sus números binarios llamándolo dentro del método System.out.println(). Luego hemos llamado al método reverse() en estas dos variables para obtener su representación binaria invertida.

Compila y ejecuta el programa

Compila y ejecuta el programa ejecutando el siguiente comando en la terminal.

javac IntegerReverse.java && java IntegerReverse

La salida se verá así:

Original Positive Number:202
Binary Representation:11001010
Number after reversal:1392508928

Original Negative Number:-50
Binary Representation:11111111111111111111111111001110
Number after reversal:1946157055

Implementa un programa definido por el usuario

Ahora escribiremos un programa definido por el usuario que tome un int como entrada del usuario y devuelva la salida del método reverse(). Escribe el siguiente bloque de código:

import java.util.Scanner;

public class IntegerReverse {
    public static void main(String[] args) {
        try {
            Scanner scanner = new Scanner(System.in);
            System.out.print("Enter any integer value: ");
            int inputValue = scanner.nextInt();

            System.out.println("Original Number:" + inputValue);
            System.out.println("Binary Representation:" + Integer.toBinaryString(inputValue));
            System.out.println("Number after reversal:" + Integer.reverse(inputValue));
        } catch (Exception e) {
            System.out.println("Invalid Input");
        }
    }
}

En este programa, hemos utilizado la clase Scanner para obtener la entrada del usuario. Hemos impreso un mensaje al usuario pidiéndole que ingrese cualquier valor entero. Después de obtener el valor de entrada, hemos impreso el número original así como su representación binaria. Finalmente, hemos aplicado el método reverse() al valor de entrada y hemos impreso el resultado.

Compila y ejecuta el programa

Compila y ejecuta el programa ejecutando el siguiente comando en la terminal.

javac IntegerReverse.java && java IntegerReverse

Verás la siguiente salida:

Enter any integer value: 78
Original Number:78
Binary Representation:1001110
Number after reversal:1912602624

Prueba el programa con una entrada no válida

Ahora prueba el programa ingresando entradas no válidas (por ejemplo, valores no enteros).

Enter any integer value: abcd
Invalid Input

Este mensaje indica que el valor de entrada no era un valor entero válido.

Resumen

En este laboratorio, hemos aprendido cómo usar el método reverse() en Java para invertir la representación binaria de un valor entero. Hemos implementado dos ejemplos, un ejemplo proporcionado y un ejemplo definido por el usuario para ilustrar el uso de este método. Hemos utilizado la clase Scanner para obtener el valor de entrada del usuario.