Introdução
Em Java, o método reverse() é usado para retornar o valor obtido pela inversão da ordem dos bits da representação binária de complemento de dois do valor inteiro passado. Neste laboratório, aprenderemos como usar o método reverse(), e o implementaremos em alguns exemplos.
Escreva o programa de exemplo
Escreva o seguinte bloco de código para implementar o programa de exemplo:
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));
}
}
Nesta etapa, aprendemos a importar o pacote java.lang.Integer para nossa classe. Definimos duas variáveis inteiras e atribuímos valores a elas.
Usando o método toBinaryString(), convertemos esses valores em seus números binários, chamando-o dentro do método System.out.println(). Em seguida, chamamos o método reverse() nessas duas variáveis para obter sua representação binária invertida.
Compile e execute o programa
Compile e execute o programa executando o seguinte comando no terminal.
javac IntegerReverse.java && java IntegerReverse
A saída terá esta aparência:
Original Positive Number:202
Binary Representation:11001010
Number after reversal:1392508928
Original Negative Number:-50
Binary Representation:11111111111111111111111111001110
Number after reversal:1946157055
Implemente o programa definido pelo usuário
Agora, escreveremos um programa definido pelo usuário, que recebe um int como entrada do usuário e retorna a saída do método reverse(). Escreva o seguinte bloco 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");
}
}
}
Neste programa, usamos a classe Scanner para obter a entrada do usuário. Imprimimos uma mensagem para o usuário pedindo que ele insira qualquer valor inteiro. Depois de obter o valor de entrada, imprimimos o número original, bem como sua representação binária. Finalmente, aplicamos o método reverse() ao valor de entrada e imprimimos o resultado.
Compilar e executar o programa
Compile e execute o programa executando o seguinte comando no terminal.
javac IntegerReverse.java && java IntegerReverse
Você verá a seguinte saída:
Enter any integer value: 78
Original Number:78
Binary Representation:1001110
Number after reversal:1912602624
Testar o programa com entrada inválida
Agora, teste o programa inserindo entradas inválidas (como valores não inteiros).
Enter any integer value: abcd
Invalid Input
Esta mensagem indica que o valor de entrada não era um valor inteiro válido.
Resumo
Neste laboratório, aprendemos como usar o método reverse() em Java para reverter a representação binária de um valor inteiro. Implementamos dois exemplos, um exemplo fornecido e um exemplo definido pelo usuário para ilustrar o uso deste método. Usamos a classe Scanner para obter o valor de entrada do usuário.



