Java の整数逆順メソッド

JavaBeginner
オンラインで実践に進む

はじめに

Java では、reverse() メソッドは、渡された整数値の 2 の補数の 2 進数表現のビットの順序を逆にして得られる値を返すために使用されます。この実験では、reverse() メソッドの使い方を学び、いくつかの例でそれを実装します。

サンプルプログラムを書く

以下のコード ブロックを書いて、サンプル プログラムを実装します。

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));
    }
}

このステップでは、java.lang.Integer パッケージをクラスにインポートする方法を学びました。2 つの整数型の変数を定義し、値を割り当てました。

toBinaryString() メソッドを使用して、System.out.println() メソッド内でそれを呼び出すことで、これらの値を 2 進数に変換しました。その後、これらの 2 つの変数に対して reverse() メソッドを呼び出して、それらの逆順の 2 進数表現を取得しました。

プログラムをコンパイルして実行する

端末で以下のコマンドを実行して、プログラムをコンパイルして実行します。

javac IntegerReverse.java && java IntegerReverse

出力は以下のようになります。

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

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

ユーザ定義のプログラムを実装する

ここでは、ユーザ定義のプログラムを書きます。このプログラムは、ユーザから int を入力として受け取り、reverse() メソッドの出力を返します。以下のコード ブロックを書きます。

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");
        }
    }
}

このプログラムでは、Scanner クラスを使用してユーザから入力を取得しています。ユーザに任意の整数値を入力するように依頼するメッセージを表示しています。入力値を取得した後、元の数値とその 2 進数表現を表示しています。最後に、入力値に reverse() メソッドを適用し、結果を表示しています。

プログラムをコンパイルして実行する

端末で以下のコマンドを実行して、プログラムをコンパイルして実行します。

javac IntegerReverse.java && java IntegerReverse

以下の出力が表示されます。

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

無効な入力でプログラムをテストする

次に、無効な入力(たとえば整数でない値)を入力してプログラムをテストします。

Enter any integer value: abcd
Invalid Input

このメッセージは、入力値が有効な整数値でなかったことを示しています。

まとめ

この実験では、Java の reverse() メソッドを使用して整数値の 2 進数表現を逆順にする方法を学びました。このメソッドの使用方法を示すために、2 つの例(1 つは提供された例で、もう 1 つはユーザ定義の例)を実装しました。また、Scanner クラスを使用してユーザから入力値を取得しました。