Java の Integer rotateRight メソッド

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

はじめに

rotateRight() メソッドは、2 進データのビット操作に役立ちます。具体的には、数値の 2 進桁を指定されたビット数だけ右に回転させます。これは、整数に対するビット演算を行ったり、2 進数と 10 進数の間で変換したりする際に役立ちます。この実験では、このメソッドを使用してさまざまな整数を回転させ、結果を調べる方法を探ります。

必要なパッケージをインポートする

最初のステップでは、rotateRight() メソッドを使用するために必要なパッケージをインポートする必要があります。このために、java.langjava.util パッケージを使用します。

import java.lang.*;
import java.util.*;

このパッケージには、ユーザー入力を取得するために必要な Scanner クラスが含まれています。

メインクラスを定義する

このステップでは、RotateRight クラスと main() メソッドを定義します。

public class RotateRight {
    public static void main(String[] args) {
        // ここに追加するコード
    }
}

変数を定義する

このステップでは、プログラムに必要な変数を定義します。

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;
        // ここに追加するコード
    }
}

3 つの変数 n1n2、および val を定義しました。これらの変数は、後のステップでビット回転操作を行うために使用されます。

2 進数の同等値を出力する

このステップでは、Integer.toBinaryString() メソッドを使用して、数値 n1n2 の 2 進数相当を出力します。

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;

        System.out.println("n1 の 2 進数相当:" + Integer.toBinaryString(n1));
        System.out.println("n2 の 2 進数相当:" + Integer.toBinaryString(n2));
    }
}

ここでは、Integer.toBinaryString() メソッドを使用して整数を 2 進数形式に変換し、その後 System.out.println() メソッドを使用して出力しています。

ビット回転操作を実行する

このステップでは、rotateRight() メソッドを使用してビット回転操作を実行します。

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;

        System.out.println("n1 の 2 進数相当:" + Integer.toBinaryString(n1));
        for (int i = 0; i < val; i++) {
            n1 = Integer.rotateRight(n1, val);
            System.out.println(n1);
        }

        System.out.println("n2 の 2 進数相当:" + Integer.toBinaryString(n2));
        for (int i = 0; i < val; i++) {
            n2 = Integer.rotateRight(n2, val);
            System.out.println(n2);
        }
    }
}

上記のコードには、両方の数値に対してビット回転操作を行うための 2 つの for ループがあります。回転させる数値と回転する位置の数とともに rotateRight() メソッドを使用しています。

ビット回転を実行するためのユーザー入力を取得する

このステップでは、コマンドラインを通じてユーザー入力を受け取り、ユーザー入力に基づいてビット回転操作を実行します。

public class RotateRight {
    public static void main(String[] args) {
        try {
            System.out.println("値と距離を入力してください");
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int val = sc.nextInt();
            System.out.println("2 進数相当は : " + Integer.toBinaryString(n));
            for (int i = 0; i < val; i++) {
                n = Integer.rotateRight(n, val);
                System.out.println(n);
            }
        } catch (Exception e) {
            System.out.println("入力が無効です");
        }
    }
}

ここでは、スキャナーオブジェクト scnextInt() メソッドを通じてユーザー入力を受け取りました。その後、ユーザー入力に応じてビット回転操作が実行されます。

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

プログラムをコンパイルして実行するには、ターミナルで次のコマンドを使用できます。

javac RotateRight.java && java RotateRight

まとめ

この実験では、Java で Integer.rotateRight() メソッドを使用してビット回転操作を行う方法を学びました。必要なパッケージをインポートし、メインクラスとユーザー定義変数を定義することから始めました。与えられた入力数値の 2 進数相当を出力し、その後ユーザー入力に基づいてビット回転操作を行いました。最後に、プログラムをコンパイルして実行し、出力を確認しました。